2016-11-16 3 views
0

Ich bin neu in iOS-Entwicklung. Ich habe ein Label und eine Suchleiste mit den folgenden Codes erstellt.Erstellen Sie eine Suchleiste neben Label in Objective-C

UILabel* lbNavTitle = [[UILabel alloc] initWithFrame:CGRectMake(0,40,320,40)]; 

UISearchBar *searchBar = [UISearchBar new]; 

Aber ich will Suchleiste auf der rechten Seite des Etiketts platziert werden. Wie kann ich dies durch Kodierung erreichen? Danke im Voraus.

+0

Beschreiben Sie Ihre nähere und lassen Sie uns wissen, was Sie bereits versucht haben. – shallowThought

+0

wenn 320 Breite gesetzt und in 5s laufen dann ist es unmöglich. Versuchen Sie dies für das Label CGRectMake (0,40,100,40) und für searchBar Frame CGRectMake (105,40,100,40) –

+0

Mein Problem ist, dass die Suchleiste das Label abdeckt, aber ich möchte das Label und die Suchansicht wie | label | (20 -Padding) | Suchleiste |. –

Antwort

0

Ändern Sie die Position gemäß Ihren Anforderungen.

UILabel* lbNavTitle = [[UILabel alloc] initWithFrame:CGRectMake(0,20,80,40)]; 


UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(85, 20, 120, 44)]; 

Wenden Sie auch Auto-Layout für die Anzeige desselben Rahmens für alle Geräte an.

0

Erstens, Frames nicht fest codieren. Mit der Verbreitung von verschiedenen Bildschirmgrößen und Präsentationsstilen wirst du es später trotzdem wiederholen. Der bevorzugte Ansatz besteht darin, automatische Layout-Einschränkungen zu verwenden. Sie können sie programmatisch generieren und sie an die Ansichten anhängen. Wenn Sie jedoch Wert auf Ihre Gesundheit legen, ist es viel besser, ein Storyboard zu verwenden, um die Ansicht und ihre Einschränkungen zu planen.

https://www.raywenderlich.com/115440/auto-layout-tutorial-in-ios-9-part-1-getting-started-2

Verwandte Themen