Этот код должен работать. В контроллере uiview, который представляет ваш основной интерфейс:
- (void)viewDidLoad
{
[super viewDidLoad];
int height = navigationController.navigationBar.frame.size.height;
int width = navigationController.navigationBar.frame.size.width;
UILabel *navLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, height)];
navLabel.backgroundColor = [UIColor clearColor];
navLabel.textColor = [UIColor whiteColor];
navLabel.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
navLabel.font = [UIFont boldSystemFontOfSize:15];
navLabel.textAlignment = UITextAlignmentCenter;
self.navigationItem.titleView = navLabel;
[navLabel release];
}
Обратите внимание, что результирующий пользовательский вид имеет прозрачный фон, так что вы можете добавить что-то еще на панель навигации с помощью [navigationController.navigationBar addSubview: view]. Это может быть вертушка в левом углу бара или что-то еще.
Если вы используете пользовательский вид, вы больше не сможете устанавливать заголовок с заголовком uiviewcontroller. Вам нужно использовать способ, доступный для вашего пользовательского представления.
Пример:
((UILabel *)self.navigationItem.titleView).text = title;