【问题标题】:how to present a popupview from a UIBarButtonItem inside a UITextView accessoryView如何从 UITextView 附件视图中的 UIBarButtonItem 呈现弹出视图
【发布时间】:2017-10-09 12:35:43
【问题描述】:

我在显示带有 sourceView 的弹出视图时遇到了困难,该 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
    }

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

【问题讨论】:

    标签: swift uitextview uibarbuttonitem accessoryview uipopoverpresentationcontroller


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      相关资源
      最近更新 更多