繁体   English   中英

iOS共享操作表-iPad崩溃

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM