ios – 在iPhone上强制弹出窗口,以编程方式创建UIPopoverPresentationController

前端之家收集整理的这篇文章主要介绍了ios – 在iPhone上强制弹出窗口,以编程方式创建UIPopoverPresentationController前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要创建一个新的popover视图,因为锚在编译期间在Interface Builder中不可见.

根据this post,执行委托方法将迫使iPhone上的Popover. (原因我不明白)

当在帖子中显示的时候,它的效果很好.但是我不能让这个工作在非隔断的方式. (Popover确实显示在iPad上)

请帮忙!

代码如下:

func showOptions() {
    let contentView = UIStoryboard(name: "Main",bundle: nil).instantiateViewControllerWithIdentifier("PasteOption") as NewPasteOptionViewController
    contentView.modalPresentationStyle = UIModalPresentationStyle.Popover
    contentView.preferredContentSize = CGSizeMake(200.0,200.0)
    presentViewController(contentView,animated: true,completion: nil)
    var _popoverPresentationController = contentView.popoverPresentationController!
    _popoverPresentationController.delegate = self
    _popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirection.Any
    _popoverPresentationController.sourceView = view
    _popoverPresentationController.sourceRect = self.navigationItem.titleView!.frame
}
// this function below is never called.
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
    return UIModalPresentationStyle.None
}

补充笔记:

呈现视图控制器在另一视图中呈现为模态表单,并封装在导航控制器中.
呈现的视图控制器是自定义表视图控制器.

解决方法

似乎移动行presentViewController(contentView,动画:true,completion:nil) 到功能的结尾会解决问题.
原文链接:/iOS/336741.html

猜你在找的iOS相关文章