2013-03-08 2 views
1

У меня проблема с моей навигационной панелью. Я настраиваю пользовательский шрифт, а центрирование неправильное, кнопка «Назад» - это перемещение всего вправо.iOS 6 навигационная панель не правильно центрируется

UILabel *navLabel = [[UILabel alloc] initWithFrame:CGRectMake(0,0, 300, 100)]; 
navLabel.backgroundColor = [UIColor clearColor]; 
navLabel.text = dataFromOtherView.text; 
navLabel.textColor = [UIColor whiteColor]; 
navLabel.shadowColor = [UIColor colorWithWhite:0.0 alpha:1.0]; 
navLabel.shadowOffset = CGSizeMake(0, 0); 
navLabel.font = [UIFont fontWithName:@"Trebuchet MS" size:22.0]; 
navLabel.textAlignment = NSTextAlignmentCenter; 
self.navigationItem.titleView = navLabel; 

enter image description here

+1

Документация для свойства titleView: «Это свойство игнорируется, если leftBarButtonItem не равен нулю». Ваш элемент leftBarButtonItem не равен нулю; возможно, что-то игнорируется? Если вместо того, чтобы устанавливать titleView, вы просто устанавливаете заголовок navigationItems, а затем текст больше не перемещается вправо? – GoZoner

+0

Да, если я просто установил название навигации, не двигаюсь ... но тогда как я могу использовать собственный шрифт? – Fede

+0

На самом деле, я думаю, что ваш leftBarButtonItem IS nil, поэтому он не игнорируется. [BackButton не является вашим элементом leftBarButtonItem.] См. Возможный ответ ниже. – GoZoner

ответ

0

Похоже, этикетки настолько велика, что не хватает «открыть/гибкое пространство» между левой стороне этикетки и справа от кнопки назад. Попробуйте уменьшить ширину UILabel при ее создании.

+1

Спасибо! Ты прав. – Fede