Обновление: вот комплексное решение. Кажется, что только "Сообщение" не работает, поэтому я использую два объекта активности, чтобы обойти это.
Вы должны создать два класса, которые соответствуют протоколу UIActivityItemSource
. Я не знаком с Swift
, поэтому они реализованы с помощью Objective-C, я думаю, вы понимаете.
1 ActivityObject
класс
@interface ActivityObject : NSObject
@end
@implementation ActivityObject
- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
return @"some Text";
}
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
if ([activityType isEqualToString:@"com.apple.UIKit.activity.Message"]) {
return @"Some text\nhttp://stackoverflow.com/";
} else {
return @"Some text";
}
}
@end
2 ActivityObjectURL
класс
@interface ActivityObjectURL : NSObject
@end
@implementation ActivityObjectURL
- (id)activityViewControllerPlaceholderItem:(UIActivityViewController *)activityViewController {
return @"";
}
- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType {
if ([activityType isEqualToString:@"com.apple.UIKit.activity.Message"]) {
return @"";
} else {
return [NSURL URLWithString:@"http://stackoverflow.com"];
}
}
@end
Тогда используйте их так.
ActivityObject *o = [[ActivityObject alloc] init];
ActivityObjectURL *ol = [[ActivityObjectURL alloc] init];
UIActivityViewController *avc = [[UIActivityViewController alloc] initWithActivityItems:@[o, ol] applicationActivities:nil];
[self presentViewController:avc animated:YES completion:nil];
Решение @dsiddhpura добавит нечетный разрыв строки в почтовое приложение.
![введите здесь описание изображения](https://i .stack.imgur.com/g0nwt.png)
person
KudoCC
schedule
16.09.2015
\n
в конце текста? Без символа ссылка также начинается со следующей строки в моем устройстве. - person KudoCC   schedule 16.09.2015