Существует ли простой способ переопределить titleView текущего объекта панели навигации в панели навигации в контроллере навигации? Я попытался создать новый UIView и заменить titleView свойство topView с моим собственным UIVIew без успеха.
В основном я хочу многострочный заголовок для заголовка панели навигации. Какие-либо предложения?
Установите свойство titleView
для UINavigationItem
. Например, в методе контроллера представления viewDidLoad
вы можете сделать что-то вроде:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 480, 44)];
label.backgroundColor = [UIColor clearColor];
label.numberOfLines = 2;
label.font = [UIFont boldSystemFontOfSize: 14.0f];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor whiteColor];
label.text = @"This is a\nmultiline string";
self.navigationItem.titleView = label;
#if !__has_feature(objc_arc)
[label release];
#endif
Это будет выглядеть так:
Помните, что свойство titleView
игнорируется ], если leftBarButtonItem
не равно nil
.