Ich versuche, zwei UILabels in meiner Navigationsleiste zu haben, anstatt nur eines.ios Titel und Untertitel in der Navigationsleiste zentriert
folgte ich diesen Link Informationen zu haben, wie das zu tun: iPhone Title and Subtitle in Navigation Bar
Es funktioniert gut, aber ich kann meine Texte zentriert werden nicht richtig gehen. Es befindet sich in der Mitte zwischen den Schaltflächen, aber das Standardtitelverhalten besteht darin, sich genau unter der Zeit zu zentrieren.
Ich hatte einen Blick hier, gleiche Frage, aber keine Antwort: UINavigationBar TitleView with subtitle
Was bin ich? Hier ist mein Code:
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;
Vielen Dank! Es funktioniert jetzt. Aber ich verstehe es nicht. Warum ist es nicht zentriert, wenn gegebene Dimensionen höher sind? – user2700551
Es funktioniert nicht für alle Fälle. Obwohl es für diese Zurück-Taste funktioniert, kann meine Zurück-Taste auf der linken Seite breiter sein und der Titel wird nach rechts verschoben. – user2700551
Immer wird der Text auf dem Etikett zentriert. Daher sollten Sie die Etikettenbreite entsprechend anpassen. Wenn Hintergrundfarbe für das Etikett zum Testen gesetzt wird, dann erhalten Sie die klare Vorstellung. Es wird auch sehr bemerkenswert sein, wenn Sie die Antwort annehmen und verbessern können, da sie Ihnen geholfen hat. –