最近在做一个社交类的App,私信的复制和删除用到了系统的UIMenuController,按网上的做法在View中重写了canBecomeFirstResponder,在长按时调用了becomeFirstResponder,最后调用了UIMenuController的显示,菜单能够正常显示。
这时候我想把菜单显示和创建都放到View中去,发现无论怎么调都不显示。
查了半天,发现原因是UIMenuItem的action只能是firstResponder实现的时候才能显示。
所以网上说的必须调用becomeFirstResponder,是因为不变成firstResponder会导致UIMenuController不显示。
网友评论