在iOS7 iPad 1x/2x模式上,仅限Facebook&;UIActivityViewController中缺少Twitter图标? 我的应用程序仅适用于iPhone,当我在iPad上以1x和2x模式运行相同的应用程序时,UIActivityViewController不会显示facebook和twitter图标,邮件图标也不正确。尽管功能正常工作 根据配置,已在设置中配置了相应的帐户

在iOS7 iPad 1x/2x模式上,仅限Facebook&;UIActivityViewController中缺少Twitter图标? 我的应用程序仅适用于iPhone,当我在iPad上以1x和2x模式运行相同的应用程序时,UIActivityViewController不会显示facebook和twitter图标,邮件图标也不正确。尽管功能正常工作 根据配置,已在设置中配置了相应的帐户,ios,iphone,facebook,ipad,Ios,Iphone,Facebook,Ipad,这个问题只发生在iPad上,但在iPhone上可以正常工作 - (void)onShare:(id)sender { UIActivityViewController *activityView = [[UIActivityViewController alloc] initWithActivityItems:@[@"World Cup! 2015",[UIImage imageNamed:@"WC15"]] applicationActivities:nil] ; [activityVie

这个问题只发生在iPad上,但在iPhone上可以正常工作

- (void)onShare:(id)sender {

UIActivityViewController *activityView = [[UIActivityViewController alloc] initWithActivityItems:@[@"World Cup! 2015",[UIImage imageNamed:@"WC15"]] applicationActivities:nil] ;

[activityView setExcludedActivityTypes:[NSArray arrayWithObjects:
                                    UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr, UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo, UIActivityTypeAirDrop, UIActivityTypePrint,nil]];

[self presentViewController:activityView animated:YES completion:nil];
}

仅缺少Facebook和Twitter图标

这是一个截图


原因是我们需要使用适用于iPad的UIPopOverViewController和适用于iPhone的UIActivityViewController

有关详细说明,请查看此问题:

以下是解决此问题需要使用的代码:

UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObject:@"Test",nil] applicationActivities:nil];

//if iPhone
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    [self presentViewController:controller animated:YES completion:nil];
}
//if iPad
else {
    // Change Rect to position Popover
    UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:controller];
    [popup presentPopoverFromRect:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/4, 0, 0)inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
注意:-iPhone上没有UIPopoverController。文档中写道:“Popover控制器仅用于iPad设备。尝试在其他设备上创建一个控制器会导致异常(如果您的应用程序仅为iPhone,则会出现此异常)。”

参考链接:-

也许这对你有帮助


感谢作为上述问题的解决方案,我刚刚创建了定制的
UIView
,带有所需的动画和每个不同实现的项目。我探索的唯一解决方案。

谢谢您的回复。但是,我只有iPhone应用程序,如果你在iPad上看到iPhone应用程序的UI呈现,那么if(UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPhone)在iPad上也不符合这个条件(如果你想试试)。这不是正确的答案。我已更改为自定义UIView,带有类似UIActivityController的动画,因为共享活动项是恒定的。