该方式
UIActivityViewController例如以以下方式使用:
@IBAction func shareSheet(sender: AnyObject) { let firstActivityItem = "Text you want" let secondActivityItem : NSURL = NSURL(string: "http//:urlyouwant")! // If you want to put an image let image : UIImage = UIImage(named: "image.jpg")! let activityViewController : UIActivityViewController = UIActivityViewController( activityItems: [firstActivityItem, secondActivityItem, image], applicationActivities: nil) // This lines is for the popover you need to show in iPad activityViewController.popoverPresentationController?.sourceView = (sender as! UIButton) // This line remove the arrow of the popover to show in iPad activityViewController.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.allZeros activityViewController.popoverPresentationController?.sourceRect = CGRect(x: 150, y: 150, width: 0, height: 0) // Anything you want to exclude activityViewController.excludedActivityTypes = [ UIActivityTypePostToWeibo, UIActivityTypePrint, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToFlickr, UIActivityTypePostToVimeo, UIActivityTypePostToTencentWeibo ] self.presentViewController(activityViewController, animated: true, completion: nil)}上面的代码适用于iPhone和iPad,因为
popoverPresentationController在iOS 8中设置了新代码后,它也适用于iPad。
在使用的情况下,
UIBarButtonItem您需要替换以下行:
activityViewController.popoverPresentationController?.sourceView = (sender as! UIButton)
有了这个:
activityViewController.popoverPresentationController?.barButtonItem = (sender as! UIBarButtonItem)
希望对您有所帮助。



