2013-06-25 3 views
0

Я хочу, чтобы заголовок на панели навигации автоматически уменьшался, чтобы он соответствовал всему заголовку. Я попробовал следующий код, но заголовок все еще отключен.Как разместить длинный текст в UINavigationBar?

- (void) viewDidLoad { 
    UILabel* titleLabel = [[UILabel alloc] init]; 
    titleLabel.font = [UIFont boldSystemFontOfSize:16.0]; 
    titleLabel.text = @"abcdefghijklmnopqrstuvwxyz"; 
    if ([titleLabel respondsToSelector:@selector(setMinimumScaleFactor:)]) { 
     titleLabel.minimumScaleFactor = 0.1; 
    } else { 
     titleLabel.minimumFontSize = 1.0; 
    } 
    [titleLabel sizeToFit]; 
    self.navigationItem.titleView = titleLabel; 
} 

enter image description here

+0

док из 'UINavigationItem' говорит о Свойство 'titleView': * Если вы установите это свойство в пользовательский заголовок, оно отображается вместо заголовка. Это свойство игнорируется, если leftBarButtonItem не равен нулю. *. Это так? –

ответ

3

Вы должны указать метку, что он должен попытаться автоматически регулировать штраф:

titleLabel.adjustsFontSizeToFitWidth = YES;