Ich habe eine UISearchBar, die ich anzeigen möchte, wenn der Benutzer auf eine Schaltfläche klickt. In der buttonPress-Methode erstelle ich die searchBar und füge sie als Unteransicht hinzu und rufe dann [searchBar becomeFirstResponder]
auf. Wenn ich diesen Aufruf von asceFirstResponder abbringe, erscheinen das Suchsymbol und der Platzhaltertext in der Mitte von textField.
Dann, wenn der Suchbalken zum ersten Responder wird, animieren beide, linksbündig zu sein.
Da ich beide Aktionen nacheinander mache, bekomme ich eine seltsame Animation, wo das Icon & amp; Platzhalter aus (0,0) animieren.
Wie kann ich diese Animation deaktivieren, damit ich einfach das zweite Bild zu meiner Ansicht hinzufügen kann?
BEARBEITEN:
Ich habe den Platzhaltertext korrekt angezeigt, indem ich
verwendet habe %Vor% Ich kann das Suchsymbol mit [searchBar setPositionAdjustment:UIOffsetMake(x, y) forSearchBarIcon:UISearchBarIconSearch];
verschieben, aber die Änderungen werden immer noch in der Animation angewendet.
@ user3429963 ist definitiv auf der Suche nach in die richtige Richtung. Folgendes hat für mich funktioniert:
%Vor% Dabei ist removeLayerAnimationsRecursively()
eine Funktion, die Animationen aus der Ebene der Ansichtsebene und ihrer Unteransichten rekursiv entfernt:
Es ist ein Hack, aber wenn Sie nicht ohne es leben können.
BEARBEITEN: Wenn Sie auch den Platzhaltertext möchten, können Sie dies tun.
Setzen Sie den Platzhaltertext zunächst auf @ "" und dann auf
%Vor%und nachdem es zum ersten Responder wird,
%Vor%Tags und Links ios uisearchbar animation placeholder becomefirstresponder