Актуализация: Ето едно комплексно решение. Изглежда, че само „Съобщение“ не работи, така че използвам два обекта за дейност, за да заобиколя.
Трябва да създадете два класа, които отговарят на протокола 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 ще добави странно прекъсване на ред в приложението Mail.
![въведете описание на изображението тук](https://i .stack.imgur.com/g0nwt.png)
person
KudoCC
schedule
16.09.2015
\n
в края на текста? Без знака връзката също започва от следващия ред в моето устройство. - person KudoCC   schedule 16.09.2015