Deaktivieren Sie das UISearchBar-Suchsymbol und die Platzhaltertextanimation auf dem BecomeFirstResponder

8

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.

    
adamF 06.11.2013, 17:15
quelle

5 Antworten

1

@ 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:

%Vor%     
Andrii Chernenko 06.12.2016 18:13
quelle
0

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%     
ManicMonkOnMac 06.11.2013 17:36
quelle
0

Eine bestimmte Anzahl von Leerzeichen am Ende des Platzhalters hat für mich das Problem gelöst. Beachten Sie, es sollte die genaue Anzahl der Leerzeichen sein - nicht weniger und nicht mehr.

    
adsurbum 30.06.2014 16:34
quelle
0

Verwenden Sie diesen Code, um das Symbol der Suchleiste auszublenden: -

%Vor%

Nehmen Sie ein transparentes Bild mit dem Namen searchIcon.jpg und Ihr Symbol ausblenden seine Arbeit für mich

%Vor%     
Tester 22.07.2015 06:43
quelle
-1

es funktioniert für mich (testet nur auf ios7)

%Vor%     
biobod 17.03.2014 17:21
quelle