Vin*_*nod 1 iphone ios facebook-social-plugins ios7
我正在使用ios 7的MobileCoreServices将应用内容发布到社交媒体上..这是我的代码..
NSArray *activityItems;
NSString *title = _titleLabel.text;
if (_imageLabel.image != nil) {
activityItems = @[title, _imageLabel.image];
} else {
activityItems = @[title];
}
UIActivityViewController *activityController =
[[UIActivityViewController alloc]
initWithActivityItems:activityItems
applicationActivities:nil];
[self presentViewController:activityController
animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
现在它发送普通文本.我希望为Facebook和Twitter发布不同的标题.可能吗?
您需要子类化UIActivityItemProvider
@interface APCustomActivityProvider : UIActivityItemProvider <UIActivityItemSource>
@end
Run Code Online (Sandbox Code Playgroud)将以下内容添加到您的实现文件中
@implementation APCustomActivityProvider
- (id) activityViewController:(UIActivityViewController *)activityViewController
itemForActivityType:(NSString *)activityType
{
if ( [activityType isEqualToString:UIActivityTypePostToTwitter] ){
NSString *title = @"Twitter title";
return title;
}
if ( [activityType isEqualToString:UIActivityTypePostToFacebook] ) {
NSString *title = @"Facebook title";
return title;
}
return nil;
}
- (id) activityViewControllerPlaceholderItem:(UIActivityViewController*)activityViewController { return @""; }
@end
Run Code Online (Sandbox Code Playgroud)要使用自定义ActivityProvider,请转到您演示UIActivityViewController的位置
NSArray *activityItems;
APCustomActivityProvider *activityProvider = [[APCustomActivityProvider alloc] init];
if (_imageLabel.image != nil) {
activityItems = @[activityProvider, _imageLabel.image];
} else {
activityItems = @[activityProvider];
}
UIActivityViewController *activityController =
[[UIActivityViewController alloc] initWithActivityItems:activityItems
applicationActivities:nil];
[self presentViewController:activityController
animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |