2017-03-05 90 views
0

我有這個share按鈕,可從屏幕底部調出共享菜單。iOS共享操作表 - iPad崩潰

這是我使用的代碼:

-(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上的崩潰。

我該如何爲iPads實現正確的ViewControllers?

我猜的東西可以在這裏面可以添加:

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { 

    //add alternative for iPad 
} 

謝謝。

回答

0

做那以後的事:

將這個代碼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]; 
} 

希望它的工作原理..