2011-01-04 17 views
1

Meine Anwendung kann ein Menü aufrufen. Wenn die Schaltfläche "Alle auswählen" gedrückt wird, möchte ich die Schaltfläche "Löschen" aktivieren. Ich habe es jedoch nicht geschafft.UIMenuController im laufenden Betrieb aktualisieren

Hier ist eine sample project zur Veranschaulichung des Problems. Führen Sie es aus, tippen Sie auf die Schaltfläche Menü, und wählen Sie Alle auswählen. Die Schaltfläche Löschen sollte sofort angezeigt werden, wird jedoch nur angezeigt, wenn Sie das Menü ausblenden und es dann erneut anzeigen. Wie kann ich das beheben?

Antwort

0

Dies ist in iOS 5 (Rdar: // Problem/8819322) gelöst.

2

Die folgende funktioniert der Trick:

- (void)didHide:(NSNotification *)notif { 
    UIMenuController *mc = [UIMenuController sharedMenuController]; 
    dispatch_async(dispatch_get_global_queue(0,0), ^{ 
     dispatch_async(dispatch_get_main_queue(), ^{ 
      [mc update]; 
      [mc setMenuVisible:YES animated:YES]; 
     }); 
    }); 
} 

Ich habe jedoch festgestellt, dass es nicht sehr zuverlässig, zum Beispiel funktioniert, wenn animated-NO Einstellung, wird das Menü nicht im laufenden Betrieb aktualisiert.

+0

Ich habe versucht, dies zu tun. Ich kann die Menüs nicht aktualisieren. Bitte helfen Sie mir – CKT

+0

Ich habe ähnliches Problem mit UIMenuController..Nach Tippen auf eine der Menüoption Ich möchte einige Menüpunkte..so im obigen Code verwenden.Es funktioniert gut in iOS6, aber in iOS7 was auch immer Zielrahmen im Einstellung zu UIMenuController nicht widerspiegelt , die irgendwo auf der Ansicht mit falscher Pfeilrichtung angezeigt wird. – Sandeep

Verwandte Themen