0

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; 

enter image description here

+0

Mögliche Duplikat [iOS ändern Navigationsleiste Titel Schriftart und Farbe] (http://stackoverflow.com/questions/19791762/ios-change-navigation-bar-title-font (und-Farbe) –

Antwort

1

Es ist mit der setFont Methode, nicht .font

[titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-Light" size:12.0]]; 

Und Sie haben auch einen Fehler im Schriftnamen:

it's HelveticaNeue-Light 
+0

funktioniert nicht, Ergebnis ist das gleiche –

+0

Bitte sehen Sie meine Bearbeitungen – AnthonyR

+2

ja, der Grund war mit Schriftart Name falsch) vielen Dank –

0

Verwenden SetFont statt Font ::

[titleLabel setFont:[UIFont fontWithName:@"HelveticaNeue-UltraLight" size:14.0]]; 
+0

funktioniert nicht wirklich, Ergebnis ist das gleiche –

Verwandte Themen