Swift 无法更改popover的大小
我一直在尝试创建自己的代码,以及复制和粘贴示例,但我的popover似乎占据了整个屏幕。一般来说,我的代码如下所示,但正如我所说,我已经尝试了至少两个其他示例(一些示例使用CGSizeMake()、sourceRect和sourceView),结果总是一样的Swift 无法更改popover的大小,swift,uiviewcontroller,presentviewcontroller,Swift,Uiviewcontroller,Presentviewcontroller,我一直在尝试创建自己的代码,以及复制和粘贴示例,但我的popover似乎占据了整个屏幕。一般来说,我的代码如下所示,但正如我所说,我已经尝试了至少两个其他示例(一些示例使用CGSizeMake()、sourceRect和sourceView),结果总是一样的 Class TableView: UITableViewController, UIPopoverPresentationControllerDelegate { let popover = UIViewController()
Class TableView: UITableViewController, UIPopoverPresentationControllerDelegate {
let popover = UIViewController()
func someButton() {
popover.modalPresentationStyle = .Popover
popover.preferredContentSize = CGSize(1, 1)
let menu = popover.popoverPresentationController
menu!.delegate = self
menu!.barButtonItem = someOtherCorrectButton
self.presentViewController(popover, animated: true, completion: nil)
}
}
有什么问题吗?请尝试下面的代码
popover.modalPresentationStyle = .Popover
var popupHeight:CGFloat = 542
let popupWidth = 400 as CGFloat
popover.preferredContentSize = CGSizeMake(400,popupHeight)
let window = UIApplication.sharedApplication().delegate!.window!!
let screenSize: CGRect = window.bounds
var XCordinate = (screenSize.width - popupWidth) / 2
var YCordinate = (screenSize.height / 2) + 20
let menu = popover.popoverPresentationController
menu!.delegate = self
menu!.sourceView = window
menu!.sourceRect = CGRect( x: XCordinate, y: YCordinate, width: 1, height: 1)
self.presentViewController(popover, animated: true, completion: nil)
可能对您有用。弹出窗口的大小是整个屏幕的边界。完全是黑色的。这适用于您?是的,但我的popover控制器类似于让popover=self.storyboard?.InstanceEviewController的标识符(“storyboardID”)为!YourViewController和我的popover显示在我的屏幕中央。是的,我已经在Main.storyboard上实例化了一个已经制作好的ViewController。它仍然占据了整个屏幕。您正在使用哪个设备?你试过用PopLight和popupWidth来改变吗?我在iPhone 6s上试过。我尝试了多种高度和宽度。在所有这些之前,我必须做一些设置,因为所有示例代码都给出相同的结果。我现在已经放弃了,我可能只能通过把我的笔记本电脑展示给知道他们在做什么的人来修复它。谢谢你的帮助。