Настройка режима усечения для текста заголовка UINavigation - PullRequest
1 голос
/ 30 ноября 2010

Я хочу настроить режим усечения для текста, который появляется в UINavigationItem.

Я сталкивался с несколькими различными решениями по настройке размера шрифта, но не уверен, как использовать UILineBreakModeHeadTruncation, существующий в NSString.

Как мне удалось настроить размер шрифта:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 120, 30)];
[label setFont:[UIFont boldSystemFontOfSize:16.0]];
[label setBackgroundColor:[UIColor clearColor]];
[label setTextColor:[UIColor whiteColor]];
[label setText:self.title];
[self.navigationController.navigationBar.topItem setTitleView:label];
[label release];

(на основании рекомендации отсюда )

Если я вызываю это в loadView или viewDidLoad, кажется, что это работает, но вне этого метода, после того, как представление было загружено, оно, похоже, не работает. Хотя не уверен почему.

1 Ответ

2 голосов
/ 30 ноября 2010

Что вы пробовали, а что не работает?Вы должны быть в состоянии сделать:

label.lineBreakMode = UILineBreakModeHeadTruncation;

Или выполнить перенос в несколько строк:

label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
...