我正在尝试将UIPopoverView添加到我的Swift iOS 8应用程序中,但我无法访问PopoverContentSize属性,因为popover没有显示正确的形状。我的代码:
I'm trying to add a UIPopoverView to my Swift iOS 8 app, but i am unable to access the PopoverContentSize property, as the popover does not show in the correct shape. my code:
var popover: UIPopoverController? = nil func addCategory() { var newCategory = storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController var nav = UINavigationController(rootViewController: newCategory) popover = UIPopoverController(contentViewController: nav) popover!.setPopoverContentSize(CGSizeMake(550, 600), animated: true) popover!.delegate = self popover!.presentPopoverFromBarButtonItem(self.navigationItem.rightBarButtonItem, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) }输出:
当我通过UIPopoverPresentationController做同样的事情时,我仍然没有完成它。这是我的代码:
When I am doing the same thing through UIPopoverPresentationController, I still don't get it done. this is my code:
func addCategory() { var popoverContent = self.storyboard.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController var nav = UINavigationController(rootViewController: popoverContent) nav.modalPresentationStyle = UIModalPresentationStyle.Popover var popover = nav.popoverPresentationController as UIPopoverPresentationController popover.delegate = self popover.popoverContentSize = CGSizeMake(1000, 300) popover.sourceView = self.view popover.sourceRect = CGRectMake(100,100,0,0) self.presentViewController(nav, animated: true, completion: nil) }我得到完全相同的输出。
I get the exact same output.
如何自定义弹出窗口的大小?任何帮助都将受到高度赞赏!
How do I customize the size of my popover? Any help would be highly appreciated!
推荐答案好的,一位室友看了看它并想出来了:
Okay, A housemate took a look at it and figured it out:
func addCategory() { var popoverContent = self.storyboard?.instantiateViewControllerWithIdentifier("NewCategory") as UIViewController var nav = UINavigationController(rootViewController: popoverContent) nav.modalPresentationStyle = UIModalPresentationStyle.Popover var popover = nav.popoverPresentationController popoverContent.preferredContentSize = CGSizeMake(500,600) popover.delegate = self popover.sourceView = self.view popover.sourceRect = CGRectMake(100,100,0,0) self.presentViewController(nav, animated: true, completion: nil) }就是这样。
您不再与popover本身交谈,您可以通过调用属性 preferredContentSize
You don't talk to the popover itself anymore, you talk to the view controller inside of it to set the content size, by calling the property preferredContentSize
更多推荐
如何在iOS 8中正确呈现popover
发布评论