我正在尝试使用标题视图自定义导航栏。 但似乎设置标题视图带有自己的左右和顶部填充。我期望标题视图根据给定的帧覆盖整个导航栏。
是预期的行为,如果是,而不是如何处理?
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 375, 44)];
view.backgroundColor = [UIColor greenColor];
//Navigation Bar
self.navigationItem.titleView = view;
答案 0 :(得分:0)
如果您只想让导航栏变为绿色,请使用iOS 7+中的[self.navigationController.navigationBar setBarTintColor:[UIColor greenColor]];
或iOS 6中的[self.navigationController.navigationBar setTintColor:[UIColor greenColor]];
-
答案 1 :(得分:0)
是的,似乎无法删除左/右填充。这是运行代码后Xcode中的调试视图的截图表单
灰色的外部视图是navigationBar
,绿色显然是titleView
。无论titleView
的框架是什么,它都会被裁剪。
Apple文档就是这样说的:
自定义标题视图以导航栏为中心,可以调整大小以适应。
我认为唯一的解决方案是将navigationBar
子类化,以便覆盖titleView框架。