【发布时间】:2018-01-16 03:54:54
【问题描述】:
我正在展示一个像这样的模态弹出视图:
let popover = StatueSelectionController(collectionViewLayout: UICollectionViewFlowLayout())
popover.delegate = self
popover.modalPresentationStyle = .popover
popover.popoverPresentationController?.barButtonItem = navigationItem.rightBarButtonItem
popover.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.up;
popover.preferredContentSize = CGSize(width: 200, height: 300)
present(popover, animated: true, completion: nil)
popover.delegate = self 与 UIPopoverControllerDelegate 无关,尽管它确实实现了该协议。
问题是弹出框占据了整个视图。 StatueSelectionController,即UICollectionViewController,填满了整个屏幕,对于preferredContentSize 没有变化。
我在这里做错了什么?
【问题讨论】:
-
你是在 iPhone/iPod touch 还是 iPad 上运行这个?
-
我只在 iPhone 上以纵向模式运行它
-
弹出框不是 iPhone 上的弹出框。你得到与
.fullScreen相同的结果。.popover的文档中提到了这一点。 -
好的,我之前将collectionview添加到mainView的子视图中作为childviewcontroller,效果很好,但我想让主视图变暗,就像这种行为通常如何工作一样。有没有办法轻松获得这种行为?
标签: ios swift uicollectionview popover modalpopup