在我的代码中,我使用此测试
if ([UIMenuController sharedMenuController].menuVisible) {
但是,这并不总是有效。在我的例子中,如果用户在UITextView中双击一个单词,则菜单会在以后继续报告visible = YES。
我尝试添加此测试:
UIMenuController * c = [UIMenuController sharedMenuController];
CGRect test4 = c.menuFrame;
if (test4.size.width != 0 || test4.size.height != 0) {
return;
} else {
NSLog(@"Shared menu controller claims to be visible but isn't");
}
这可行,但不是所有时间。
有什么想法吗?
答案 0 :(得分:0)
事实证明,原因是我已将另一个窗口推到顶部而未将其移除。在我看来,菜单现在显示在该窗口中,因此在技术上可见。在隐形窗口。
无论如何,记得要跟踪你的窗户!就是这样。