0

我在使用作为 UITextView 附件视图的 UIBarbuttonItem 的 sourceView 呈现弹出视图时遇到困难。似乎键盘内的视图在某种程度上与视图层次结构中的其他视图不同。当我结束键盘编辑时,弹出视图出现在底层视图控制器的视图中。这是一些代码:

   @objc func foregroundColorPressed(button : UIBarButtonItem)
   {
      let colorSelectionPopup = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ColorSelectionPopup")
      colorSelectionPopup.modalPresentationStyle = .popover
      let popOver = colorSelectionPopup.popoverPresentationController!
      colorSelectionPopup.preferredContentSize = CGSize(width: 200, height: 100)
      popOver.delegate = self
      popOver.permittedArrowDirections = .up
      popOver.barButtonItem = button
      //popOver.sourceView = button.theView
      //popOver.sourceRect = (button.theView?.bounds)!

       getCurrentViewController()?.present(colorSelectionPopup, animated: true, completion: {
        //
    })

我的 popoverPresentationDelegate 方法是

    func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {
       return UIModalPresentationStyle.none
    }

我想要实现的目标是可能的吗?非常感谢任何帮助!

4

1 回答 1

0

似乎问题出在 popoverPresentationController 的箭头方向属性上。将其设置为 .none 或 .down 使代码工作。

于 2017-10-11T08:05:54.087 回答