2

私のコードでは、このテストを使用します

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");
    }

これは機能しますが、常にではありません。

何か案は?

4

1 に答える 1

0

その理由は、別のウィンドウを上に押して削除しなかったためであることが判明しました。私には見えませんでしたが、メニューはそのウィンドウに表示され、技術的には表示されました。見えない窓に。

とにかく、あなたの Windows ユーザーを追跡することを忘れないでください! それで全部です。

于 2012-09-23T11:03:59.793 に答える