UIAlertController verschiebt leftBarButtonItem nach unten

8

Ich habe UIAlertController mit dem bevorzugten Stil von UIAlertControllerStyleAlert erstellt. Die Warnung wird angezeigt, wenn auf leftBarButtonItem geklickt wird. Ich habe eine UIBarButtonItem -Eigenschaft namens backButton erstellt und die leftBarButtonItem = self.backButton festgelegt. Dies funktioniert wie vorgesehen. Ich verwende keine Storyboards.

Das Problem ist, dass sich die leftBarButtonItem nach unten bewegt (meine Schätzung: etwa 20 Punkte), wenn die Warnung angezeigt wird. Warum passiert das?

Ich weiß, wie ich die Schaltfläche anzeigen / ausblenden kann, damit der Benutzer die Schaltfläche nicht sehen kann, wenn sie sich nach unten bewegt hat. Das ist aber scheiße. Warum passiert es überhaupt?

Ich habe keine ähnliche Probleme online gefunden.

%Vor%

in viewDidLoad:

%Vor%

in backButtonPressed:

%Vor%     
jungledev 17.11.2015, 03:15
quelle

2 Antworten

13

Ich bin auch auf dieses Problem gestoßen. Die Suche nach anderen Problemen bezüglich der vertikalen Fehlpositionierung des Elements der linken Leiste hat mich zu diese Frage . Der Kern davon ist, dass dieses Problem aus unbekannten Gründen auftritt, wenn Sie eine Bar-Schaltfläche haben, die ein Bild, aber eine leere Zeichenfolge als Titel hat. Setzen Sie den Titel auf ein einzelnes Leerzeichen und nicht nur auf eine leere Zeichenfolge:

%Vor%

Ich weiß nicht, ob es es für dich reparieren wird, aber es hat meistens für mich getan - der Knopf macht immer noch eine leichte "Sprung" -Animation, als ob er neu erstellt wird (aber nur beim ersten Mal) - aber es bleibt in der gleichen vertikalen Position.

Bearbeiten: Wenn Sie nil als Titel übergeben, wird auch die überflüssige Animation entfernt. Es scheint, dass dies nur eine Besonderheit ist, wenn iOS Leerzeichen als Titel behandelt.

    
Xono 20.11.2015, 00:49
quelle
1
%Vor%

Setze Titel nil und das funktioniert für mich.

    
krish 03.01.2017 09:28
quelle