Как разместить UILabel в центре навигационной панели
Как разместить UILabel
в центре панели навигации в XCode 6? Это вообще возможно? Я могу разместить здесь, например, UIButton
, но не смог разместить UILabel
. Если нет, что я могу сделать? Поместите a UIButton
с соответствующим текстом и сделайте его не кликабельным?
Спасибо заранее.
Ответы
Ответ 1
В Xcode 6
, если вы хотите поместить метку внутри UINavigationBar
, сначала нужно поместить UIView, затем поместите UILabel внутри UIView (это из-за Storyboard).
Если вы не поместите UIView
сначала, то UILabel
никогда не будет помещаться в UINavigationBar
.
Ответ 2
Создайте UIView и добавьте UILabel
в качестве подпредставления, а затем установите заголовок NavigationItem
titleView как ранее созданный UIView.
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 150, 40)];
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 150, 40)];
label.text = @"Hello";
label.textAlignment = NSTextAlignmentCenter;
[view addSubview:label];
self.navigationItem.titleView = view;
Примечание: не забудьте установить собственные значения фрейма, чтобы получить лучший результат.
Ответ 3
Просто попробуйте viewWillLayoutSubviews
метод вместо viewDidLoad
, и это сработало для меня. Ура!