UIPopOver来自UIButton for iPhone

时间:2016-08-10 06:26:42

标签: ios iphone swift uipopover

我们可以使用UIPopOver在iPhone设备中创建Swift iPad,其中来源为UIButton。我从UIPopOver创建了UIBarButtonItem,其工作正常,但在UIButton的情况下无效。任何人都可以建议更好的解决方案尽快。我需要在iPhone设备上使用它。

1 个答案:

答案 0 :(得分:1)

是的,你可以,但你需要实现popoverPresentationController

的委托
let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("AnnotationInfoViewController") as! PopUpViewController

//If you want to show view from XIB file you can create viewController instance like this
//let viewController = UIViewController()
//let myView = NSBundle.mainBundle().loadNibNamed("PopUpView", owner: self, options: nil)[0] as! PopUpView
//viewController.view = myView

//Pass the information that you want to show
viewController.data = passdata

//Set the viewController for popoverPresentationController 
viewController.modalPresentationStyle = .Popover
viewController.preferredContentSize = CGSize(width: viewController.view.frame.size.width, height: 80)
viewController.popoverPresentationController!.delegate = self;
viewController.popoverPresentationController!.permittedArrowDirections = [.Up , .Down]
viewController.popoverPresentationController!.sourceView = yourBtn!
viewController.popoverPresentationController!.sourceRect = yourBtn.frame
self.presentViewController(viewController, animated: true, completion: nil)

现在在popoverPresentationController

中实施此ViewController方法
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
    return .None;
}