我正在尝试为我的导航栏添加标题,我已经以编程方式添加了该标题。我知道我可以创建一个标签并将其添加为子视图,但是我需要添加大量的配置才能正确放置,就像在典型的导航栏标题中一样。还有其他方法可以做到这一点:
- (void)viewDidLoad
{
[super viewDidLoad];
//Adding navBar programmatically
CGFloat width = self.view.frame.size.width;
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0,0,width,52)];
navBar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
//Adding title programmatically
UILabel *lblTitle = [[UILabel alloc]initWithFrame:CGRectMake(10,10,80,30)];
lblTitle.text = @"Title";
[navBar addSubview: lblTitle];
[self.view addSubview:navBar];
}
如果没有(对不起另一个问题,只是认为它有关)我如何设置我的lblTitle看起来像你会在大多数应用程序中找到的普通导航栏标题。
谢谢!
答案 0 :(得分:8)
如果要通过编程方式添加导航栏,请使用此
(void)viewDidLoad {
[super viewDidLoad];
self.title = @"yourTitle";
}
您也可以使用
self.navigationItem.title = @"yourTitle";
答案 1 :(得分:4)
您可以使用
navigationBar.topItem.title = @"Your Title";
答案 2 :(得分:3)
您问题的最佳答案就是使用UINavigationController
免费获取其导航栏,但如果由于某种原因您无法执行此操作,则需要使用自定义{{1并使用其属性,直到匹配内置的样式。
答案 3 :(得分:0)
如果一个简单的UILabel不能让你满意,那么是的,你需要大量的配置,或者你可以在Interface Builder中完成这些操作来改善你的视图。我建议您在navigationItem.titleView
中将其设置为-(void)viewDidLoad
,而不是将其添加为子视图。