ios Titel und Untertitel in der Navigationsleiste zentriert
Ich versuche, zwei UILabels in meiner navigation bar, anstatt nur einer.
Ich folgte diesem link, um Informationen auf, wie das geht:
iPhone Titel und Untertitel in der Navigation Bar
Funktioniert es gut, aber ich kann nicht meine Texte zentriert werden, richtig.
Es ist in der Mitte zwischen den Tasten, aber die Standard-Titel-Verhalten ist die Mitte sich direkt unter der Zeit.
Hatte ich mal hier, dieselbe Frage, aber keine Antwort:
UINavigationBar TitleView mit Untertitel
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;
InformationsquelleAutor user2700551 | 2013-08-20
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Stellen Sie die Breite der beiden frames. Es sollte unter 200. dies versuchen.
Edit : Dein backbutton auf der linken Seite ist breiter, und die titleview nach rechts verschoben wird.
Schauen Sie bitte das Bild mit der Breite 200px
Und das Bild mit der Breite 160px
Schlage ich vor, Sie zum anpassen der Breite titleview und label entsprechend.
Wenn du mehr wissen möchtest über die Schaltflächen "backbutton" Breite, dann bitte die Diskussion hier.
SO Post 1.
ALSO Post 2.
Es funktioniert nicht für all die verschiedenen Fälle. Obwohl es funktioniert für diese zurück-Schaltfläche, mein zurück-button auf der linken Seite kann breiter sein, und der Titel ist nach rechts verschoben.
Immer wird der text zentriert auf dem Etikett. so stellen Sie die label-Breite entsprechend. wenn set Hintergrundfarbe für das label für Tests, thenyou wird die klare Idee. Auch wird es höchst bemerkenswert, wenn man das akzeptieren kann und upvote die Antwort, wie es Ihnen geholfen hat.
Ich werde prüfen, die Antwort als validiert, wenn es gelöst wird, so dass wir immer noch finden können, die richtige Lösung für das problem. Wenn ich das verstehen, muss ich wissen, welche Größe die zurück-Taste, werden vor dem anzeigen geladen. Irgendeine Idee dazu?
Bearbeitet meine Antwort.
InformationsquelleAutor Adarsh V C
können Sie gerne auf diese Eigenschaft in UINavigationItem Klasse.
@property (nonatmic,copy) NSString *prompt
Ist es eleganter.
InformationsquelleAutor frank