Как представить всплывающее представление из UIBarButtonItem внутри UITextView accessoryView

У меня возникают трудности с представлением всплывающего представления с sourceView, который является UIBarbuttonItem из вспомогательного представления UITextView. Кажется, что представления внутри клавиатуры почему-то не обрабатываются так же, как другие представления в иерархии представлений. Когда я заканчиваю редактирование клавиатуры, в нижележащем представлении viewcontroller появляется всплывающее окно. Вот некоторый код:

   @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 ответ

Казалось, что проблема заключалась в свойстве направления стрелки в popoverPresentationController. Установка этого значения в.none или.down заставила код работать.

Другие вопросы по тегам