[英]iOS Sharing Action Sheet - iPad Crash
我有这个share
按钮,从屏幕底部弹出共享菜单。
这是我使用的代码:
-(IBAction)ShareButton:(id)sender {
NSString *texttoshare = @"My Text";
UIImage *imagetoshare = _MyImage;
NSArray *activityItems = @[texttoshare, imagetoshare];
UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint];
[self presentViewController:activityVC animated:TRUE completion:nil];
}
它可以处理大量的iPhone,但在iPad上会崩溃。
如何为iPad实现正确的ViewController?
我猜可以在其中添加一些内容:
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
//add alternative for iPad
}
谢谢。
执行以下操作:
将此代码放入viewDidLoad
:
UIBarButtonItem *shareButton;
shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(share:)];
self.navigationItem.rightBarButtonItem = shareButton;
然后创建一个动作。
-(void)share:(id)sender {
UIImage *image = [UIImage imageWithData:[chart getImage]];
NSArray *activityItems = @[image];
UIActivityViewController *activityViewControntroller = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil];
activityViewControntroller.excludedActivityTypes = @[];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
activityViewControntroller.popoverPresentationController.sourceView = self.view;
activityViewControntroller.popoverPresentationController.sourceRect = CGRectMake(self.view.bounds.size.width/2, self.view.bounds.size.height/4, 0, 0);
}
[self presentViewController:activityViewControntroller animated:true completion:nil];
}
希望它会工作..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.