2010-03-25 14 views
5

W moim viewDidLoad próbuję coś takiego, ale jej nie działa:Zmiana położenia navigationItem.title


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


chcę wyświetlić etykietę w lewej części mojego NavigationBar. A może zmienić pozycję navigationBar.title

Dzięki,

Odpowiedz

16

można zrobić, ustawić tytuł widoku elementu nawigacyjnego do UILabel z lewego wyrównania tekstu:

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

Utworzono tytuł ten sposób itemu toleruje również przyciski pasek nawigacji i nie nakłada się na nie.

+0

Co zrobić, jeśli ktoś ma odpowiedni przycisk paska? To nie zadziała poprawnie? – Manjunath

+0

dlaczego? wydaje się, że element nawigacyjny automatycznie zmniejsza jego widok tytułowy, jeśli jest obecny lewy lub prawy przycisk. To podejście działa dla mnie ... – Vladimir

+0

, które działa również dla mnie. Możesz też spróbować [self.navigationcontroller.navigationBar.topItem setTitleView: yourlabel]; – ludo

Powiązane problemy