Очевидно, раньше был простой способ , чтобы предотвратить появление ярлыка «Еще ...» в UIMenuController, когда вы добавили более одного элемента пользовательского меню.Вы просто должны были удалить все пункты системного меню.Был даже обходной путь здесь для того, чтобы все еще иметь работу копирования.Вам просто нужно было реализовать пользовательскую команду копирования, используя другой селектор, а затем переопределить canPerformAction: withSender: не показывать системную копию:
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(copy:))
return NO;
else
// logic to show or hide other things
}
К сожалению, этот метод больше не работает (по крайней мере, в подклассе UIWebView),canPerformAction: withSender: вызывается для каждого элемента системного меню, кроме copy: поэтому в результате всегда отображается пункт меню системного копирования.Это означает, что если у вас есть более одного пользовательского пункта меню, они всегда скрыты за «Подробнее ...»
Итак, есть ли способ действительно удалить системный элемент копирования или какой-либо альтернативный способ запретить менюэлементы, скрывающиеся за «Больше ...»?
Обновление
Это вывод, который я получаю, когда переопределяю canPerformAction: withSender: обратите внимание, что метод никогда не вызываетсядля действия «copy:»:
cannot perform action cut: with sender <UIMenuController: 0x7227d30>.
cannot perform action select: with sender <UIMenuController: 0x7227d30>.
cannot perform action selectAll: with sender <UIMenuController: 0x7227d30>.
cannot perform action paste: with sender <UIMenuController: 0x7227d30>.
cannot perform action delete: with sender <UIMenuController: 0x7227d30>.
cannot perform action promptForReplace: with sender <UIMenuController: 0x7227d30>.
cannot perform action _showMoreItems: with sender <UIMenuController: 0x7227d30>.
cannot perform action _setRtoLTextDirection: with sender <UIMenuController: 0x7227d30>.
cannot perform action _setLtoRTextDirection: with sender <UIMenuController: 0x7227d30>.
can perform action customCopy: with sender <UIMenuController: 0x7227d30>.
can perform action custom1: with sender <UIMenuController: 0x7227d30>.
cannot perform action custom2: with sender <UIMenuController: 0x7227d30>.
can perform action custom3: with sender <UIMenuController: 0x7227d30>.
can perform action custom4: with sender <UIMenuController: 0x7227d30>.
cannot perform action cut: with sender <UIMenuController: 0x7227d30>.
cannot perform action select: with sender <UIMenuController: 0x7227d30>.
cannot perform action selectAll: with sender <UIMenuController: 0x7227d30>.
cannot perform action paste: with sender <UIMenuController: 0x7227d30>.
cannot perform action delete: with sender <UIMenuController: 0x7227d30>.
cannot perform action promptForReplace: with sender <UIMenuController: 0x7227d30>.
cannot perform action _showMoreItems: with sender <UIMenuController: 0x7227d30>.
cannot perform action _setRtoLTextDirection: with sender <UIMenuController: 0x7227d30>.
cannot perform action _setLtoRTextDirection: with sender <UIMenuController: 0x7227d30>.