UIBarButtonItem + popover segue erstellt mehrere Popovers

8

Ich habe derzeit eine iPad-App mit einer UIToolbar, die zwei UIBarButtonItems enthält, von denen jedes mit einem Popover-Segment verbunden ist.

Wenn der Benutzer eines der UIBarButtonItems berührt, wird das Popover erstellt und nicht umgeschaltet. Dies erzeugt mehrere überlappende Popover. Ich konnte das zuvor erstellte Popover mit dem folgenden Code schließen

%Vor%

Ich habe auch UIB-Tasten, die Popover-Segmente erzeugen, die sich normal verhalten. Aufgrund dieses Verhaltens der Popover, die UIBarButtonItems zugeordnet sind, wird meine App abgelehnt. Hat jemand irgendwelche Vorschläge oder irgendwelche Codebeispiele einer UIToolbar mit mehreren UIBarButtonItems, die korrekt funktionieren? Die Popovers werden ausgeblendet, wenn der Benutzer das Fenster berührt,

    
Timothy Newton 22.12.2011, 01:43
quelle

3 Antworten

8

Wenn Sie eine Nachricht in -prepareForSegue:sender: erhalten haben, ist es zu spät, um ein Segment abzubrechen.

Um dies effizient zu tun, sollten Sie Segmente für Ihre Popovers über den View-Controller selbst erstellen und nicht über die Balkenschaltflächen, damit sie weiterhin programmgesteuert ausgeführt werden können. Verbinden Sie nun die UIBarButtonItem s mit einigen Methoden, die das Popover bedingt darstellen oder ablehnen.

%Vor%     
Mark Adams 22.12.2011, 02:18
quelle
16

Dies ist die richtige Art zu tun, was Sie tun müssen:

%Vor%

Dies stellt sicher, dass der Übergang abgebrochen wird, wenn eine Instanz des Popover bereits angezeigt wurde. Sie müssen nur sicherstellen, dass Ihr Popover-Objekt eine Kennung im Storyboard hat.

    
Brenden 17.12.2012 21:28
quelle
1

Kombination von beiden machte es für mich

%Vor%     
Sebastian Boldt 09.08.2013 15:56
quelle

Tags und Links