2016-07-21 4 views
0

Ich würde gerne die folgende Benutzeroberfläche für meine App machen: enter image description here Wo habe ich eine Suchleiste, wo der Benutzer nach Aufklebern suchen und hat die Option, eine neue hinzuzufügen. Ich habe mehrere Ansätze für diese Benutzeroberfläche ausprobiert, aber keiner von ihnen funktioniert sehr gut. Zuerst habe ich versucht, die UISearchBar und UIButton in eine UINavigationbar einzubetten, aber mit ihnen als bar-Taste Elemente ließ mich nicht mit Auto-Layout arbeiten. Ich habe eine ähnliche Sache mit UIToolbar versucht. Dann dachte ich, UIStackView wäre einfacher zu planen. Und es war. Im Bild oben habe ich die UISearchBar und die UIButton in der UIStackView. Das einzige Problem ist, dass ich eine Haarlinie unterhalb der Suchleiste, aber nicht unterhalb der Schaltfläche habe. Irgendwelche Ratschläge, wie man das richtig macht?Was ist Best Practice für UISearchBar mit Schaltflächen

UPDATE: Ich habe einen Code hinzugefügt, um die Haarlinie zu entfernen, aber es bleibt 1 px von Schwarz darunter. Hier ist der Code:

override func viewDidLoad() { 
    super.viewDidLoad() 
    let color = UIColor.clear() 
    searchBar.layer.borderWidth = 0 
    searchBar.layer.borderColor = color.cgColor 

    // Do any additional setup after loading the view. 
} 

Und hier ist ein Bild des Problems:

enter image description here

+0

erscheint es auf dem Gerät? –

+0

Ich benutze den Simulator. Es erscheint im Simulator. Ich sollte klarstellen, dass ich weiß, wie man die Haarlinie entfernt und das werde ich wahrscheinlich tun. Meine Frage ist, verwenden Sie eine Stapelansicht in diesem Fall gute Praxis? –

+0

Alle von Ihnen genannten Fälle haben keine Nachteile. Es hängt von Ihrer Anforderung ab. –

Antwort

0

Wenn Sie nicht zu viel Zeit mit dem UISearchBar kämpfen verbringen möchten, können Sie einfach tun Sie Ihre eigenen searchBar, basierend auf einer einfachen UIView.

diese Weise können Sie sicher sind, die Kontrolle zu behalten, wenn iOS im Laufe der Jahre aktualisiert wird ..

Ich denke personnaly es nicht unbedingt die richtige Lösung ist O Klasse ererbt oder anpassen.