如何在UITextView accessoryView中显示来自UIBarButtonItem的popupview

时间:2017-10-09 12:35:44

标签: swift uitextview uibarbuttonitem accessoryview uipopoverpresentationcontroller

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

   @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
    }

我正在努力实现的目标是什么?任何帮助非常感谢!

1 个答案:

答案 0 :(得分:0)

看来问题是popoverPresentationController的箭头方向属性。将其设置为.none或.down使代码有效。