我创建了一个动作表,我想显示Facebook共享选项。我不想使用Composeviewcontroller。我的问题是:如果用户安装了IOS6,是否可以只显示Facebook共享选项?代码片段非常有用。 我添加了社交框架并创建了一个带有一些按钮的操作表:
UIActionSheet * actionsheet = [[UIActionSheet alloc] initWithTitle:@“Empfehlen”代表:(id)self cancelButtonTitle:@“Abbrechen”destructiveButtonTitle:nil otherButtonTitles:@“via Mail”,@“via iMessage / SMS”,@“Tweet”,nil];
有没有人建议或解决方案该怎么办?
我的应用使用iOS 5,我想保留它。
感谢。
答案 0 :(得分:4)
这是OP在评论部分提出的后续问题的答案。
在iOS 6+下,您可以使用UIActivityViewController
,而在iOS 5之前,您仍然可以使用UIActionSheet
。
Class avcClass = NSClassFromString(@"UIActivityViewController");
if (avcClass) {
NSArray *items = @[ xxx ]; // create one or more activity item objects for this
UIActivityViewController *avc = [[avcClass alloc] initWithActivityItems:items applicationActivities:nil];
[self presentViewController:abc animated:YES completion:nil];
} else {
// create and show an action sheet
}
答案 1 :(得分:2)
UIActionSheet * actionsheet;
if([SLComposeViewController class] != nil)//some class only available in ios6
{
actionsheet = [[UIActionSheet alloc] initWithTitle:@"Empfehlen" delegate:(id)self
cancelButtonTitle:@"Abbrechen" destructiveButtonTitle:nil otherButtonTitles:@"via Mail", @"via iMessage/SMS",@"Tweet", @"Facebook", nil];
}
else
{
actionsheet = [[UIActionSheet alloc] initWithTitle:@"Empfehlen" delegate:(id)self
cancelButtonTitle:@"Abbrechen" destructiveButtonTitle:nil otherButtonTitles:@"via Mail", @"via iMessage/SMS",@"Tweet", nil];
}
您只是检查您想要共享的内容是否存在以及是否显示该选项。