Как представить всплывающее представление из 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 заставила код работать.