2010-03-25 14 views
5

In meinem ViewDidLoad Ich versuche, so etwas, aber es funktioniert nicht:Position ändern von navigationItem.title


UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10,2,60,14)]; 
label.autoresizingMask = UIViewAutoresisingFlecibleWidth; 
[self.navigationController.navigationBar addSubview:label]; 


Ich möchte im linken Teil meines navigationbar ein Label angezeigt werden soll. Oder vielleicht die Position navigationBar.title

Dank ändern,

Antwort

16

Sie Navigationspunkt Titel im Hinblick auf UILabel mit der linken Textausrichtung festlegen können:

UILabel* lbNavTitle = [[UILabel alloc] initWithFrame:CGRectMake(0,40,320,40)]; 
lbNavTitle.textAlignment = UITextAlignmentLeft; 
lbNavTitle.text = NSLocalizedString(@"Hello World!",@""); 
self.navigationItem.titleView = lbNavTitle; 
[lbNavTitle release]; 

schuf diese Titel Weise Artikel duldet auch Tasten auf Navigationsleiste und überlappt sie nicht.

+0

Was ist, wenn jemand den richtigenBarButton hat? Das wird nicht richtig funktionieren? – Manjunath

+0

warum? Es scheint, Navigation Element verkleinert automatisch die Titelansicht, wenn links oder rechts vorhanden ist. Dieser Ansatz funktioniert für mich ... – Vladimir

+0

das funktioniert auch für mich. Oder Sie können auch versuchen [self.navigationcontroller.navigationBar.topItem setTitleView: yourlabel]; – ludo

Verwandte Themen