繁体   English   中英

在使用标题视图自定义导航栏时如何处理默认填充?

[英]How to deal with default paddings while customise navigation bar with title view?

我正在尝试使用标题视图自定义导航栏。 但是似乎设置标题视图带有其自己的左右和顶部填充。我期望标题视图根据给定的框架覆盖整个导航栏。

是预期的行为,如果是,则如何处理?

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 375, 44)];
    view.backgroundColor = [UIColor greenColor];
    //Navigation Bar
    self.navigationItem.titleView = view;

导航标题视图为绿色

如果只希望导航栏为绿色,请使用[self.navigationController.navigationBar setBarTintColor:[UIColor greenColor]]; 在iOS 7以上版本或[self.navigationController.navigationBar setTintColor:[UIColor greenColor]]; 在iOS 6-

是的,似乎无法删除该左/右填充。 这是运行代码后在Xcode中调试视图的屏幕截图表格

在此处输入图片说明

灰色的外部视图是navigationBar ,绿色显然是titleView 无论titleView的框架titleView ,都会对其进行裁剪。

苹果文档说明了这一点:

自定义标题视图在导航栏上居中,并且可以调整大小以适合自己。

我认为唯一的解决方案是子类navigationBar ,以便您覆盖titleView框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM