Mein Ziel ist es, Titel und Untertitel mit unterschiedlichen Schriftgrößen in Navigations-Seitentitel zu verwenden (der Titel sollte größer sein, der Untertitel sollte entsprechend niedriger sein).Schriftgröße wird nicht für Titel und Untertitel in navigationItem.titleView geändert.
Ich fand Beispielcode, um dies zu implementieren. Das einzige Problem ist, dass die Schriftgröße nicht angewendet wird - Titel und Untertitel haben dieselbe Schriftgröße. Wie der Code für die Schriftgröße funktioniert nicht.
Wie behebt man das? Danke
// prepare title label
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.textColor = [UIColor whiteColor];
titleLabel.font = [UIFont fontWithName:@"HelveticaNeueLight" size:19.0];
titleLabel.text = locationInfo;
[titleLabel sizeToFit];
// prepare subtitle label
UILabel *subtitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 18, 0, 0)];
subtitleLabel.backgroundColor = [UIColor clearColor];
subtitleLabel.textColor = [UIColor whiteColor];
subtitleLabel.font = [UIFont fontWithName:@"HelveticaNeueLight" size:12.0];
subtitleLabel.text = dateInfo;
[subtitleLabel sizeToFit];
UIView *twoLineTitleView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, MAX(subtitleLabel.frame.size.width, titleLabel.frame.size.width), 30)];
[twoLineTitleView addSubview:titleLabel];
[twoLineTitleView addSubview:subtitleLabel];
float widthDiff = subtitleLabel.frame.size.width - titleLabel.frame.size.width;
if (widthDiff > 0) {
CGRect frame = titleLabel.frame;
frame.origin.x = widthDiff/2;
titleLabel.frame = CGRectIntegral(frame);
} else{
CGRect frame = subtitleLabel.frame;
frame.origin.x = fabs(widthDiff)/2;
subtitleLabel.frame = CGRectIntegral(frame);
}
self.navigationItem.titleView = twoLineTitleView;
Mögliche Duplikat [iOS ändern Navigationsleiste Titel Schriftart und Farbe] (http://stackoverflow.com/questions/19791762/ios-change-navigation-bar-title-font (und-Farbe) –