A UIMenuController извлекает содержимое из свойства menuItems
, а в документации говорится:
Значением по умолчанию является ноль (нет пользовательских пунктов меню). Каждый пункт меню является
экземпляр класса UIMenuItem. Вы можете создавать свои собственные пункты меню,
каждый со своим собственным заголовком и селектором действий, и добавьте их в
редактирование меню через это свойство. Пользовательские элементы появляются в меню
после любых пунктов системного меню.
Таким образом, вы обязаны использовать UIMenuItem объекты в качестве содержимого для UIMenuController
. UIMenuItem наследуется только от NSObject
и хранит только заголовок и действие, и то и другое обязательно. Это делает невозможным использование любых других типов данных как UIMenuItem
.
Поскольку это не UIView
, вы можете дать ему UIButton
или UIImageView
.
Можно подумать, что нужно переопределить UIMenuController
, но опять же это прямой потомок NSObject
, поэтому он не имеет никакого поведения для настройки.
Единственное решение, которое вам остается, это переписать свой собственный UIMenuController
, взяв его, например, из UIToolbar . Это выглядело бы более или менее одинаково, вам просто нужно настроить стрелку и круглый угол.