Próbuję mieć dwa UILabels w moim pasku nawigacji, a nie tylko jeden.Tytuł i podtytuł ios w pasku nawigacyjnym wyśrodkowany
Śledziłem ten link, aby mieć informacje na temat, jak to zrobić: iPhone Title and Subtitle in Navigation Bar
to działa dobrze, ale nie mogę dostać moje teksty być odpowiednio wyśrodkowany. Jest on wyśrodkowany między przyciskami, ale domyślne zachowanie tytułu polega na tym, aby samemu wyśrodkować czas.
miałem Posłuchaj, to samo pytanie, ale nie ma odpowiedzi: UINavigationBar TitleView with subtitle
Czego mi brakuje? Oto mój kod:
CGRect headerTitleSubtitleFrame = CGRectMake(0, 0, 200, 44);
UIView* _headerTitleSubtitleView = [[UILabel alloc] initWithFrame:headerTitleSubtitleFrame];
_headerTitleSubtitleView.backgroundColor = [UIColor clearColor];
_headerTitleSubtitleView.autoresizesSubviews = NO;
CGRect titleFrame = CGRectMake(0, 2, 200, 24);
UILabel *titleView = [[UILabel alloc] initWithFrame:titleFrame];
titleView.backgroundColor = [UIColor clearColor];
titleView.font = [UIFont boldSystemFontOfSize:20];
titleView.textAlignment = NSTextAlignmentCenter;
titleView.textColor = [UIColor whiteColor];
titleView.shadowColor = [UIColor darkGrayColor];
titleView.shadowOffset = CGSizeMake(0, -1);
titleView.text = @"Title";
titleView.adjustsFontSizeToFitWidth = YES;
[_headerTitleSubtitleView addSubview:titleView];
CGRect subtitleFrame = CGRectMake(0, 24, 200, 44-24);
UILabel *subtitleView = [[UILabel alloc] initWithFrame:subtitleFrame];
subtitleView.backgroundColor = [UIColor clearColor];
subtitleView.font = [UIFont boldSystemFontOfSize:13];
subtitleView.textAlignment = NSTextAlignmentCenter;
subtitleView.textColor = [UIColor whiteColor];
subtitleView.shadowColor = [UIColor darkGrayColor];
subtitleView.shadowOffset = CGSizeMake(0, -1);
subtitleView.text = @"Subtitle";
subtitleView.adjustsFontSizeToFitWidth = YES;
[_headerTitleSubtitleView addSubview:subtitleView];
self.navigationItem.titleView = _headerTitleSubtitleView;
Wielkie dzięki! Teraz działa. Ale nie rozumiem tego. Dlaczego nie jest wyśrodkowany, gdy podane wymiary są wyższe? – user2700551
Nie działa dla wszystkich różnych przypadków. Mimo że działa na ten przycisk Wstecz, mój przycisk Wstecz po lewej stronie może być szerszy, a tytuł przesunięty w prawo. – user2700551
Zawsze tekst zostanie wyśrodkowany na etykiecie. więc należy odpowiednio dostosować szerokość etykiety. jeśli ustawisz kolor tła dla etykiety do testowania, otrzymasz jasny pomysł. Również będzie to bardzo znaczące, jeśli zaakceptujesz i zareklamujesz odpowiedź, ponieważ pomogło ci to. –