删除UINavigationController圆角

时间:2012-10-27 21:22:43

标签: iphone ios uinavigationcontroller

如何删除UINavigationController顶部圆角?是否有任何plist属性或我需要以编程方式执行此操作?

我想离开这个:

enter image description here

对此:

enter image description here

3 个答案:

答案 0 :(得分:5)

只需将状态栏样式从“Black Opaque”更改为“Black Alluque”,rootViewController的所有4个角都不会再舍入。只要您不设置视图控制器的属性wantsFullScreenLayout = YES,状态栏后面就不会显示任何内容。您的UIWindow必须有backgroundColor = [UIColor blackColor],因此用户无法注意到状态栏不是真正的“黑色不透明”。

答案 1 :(得分:3)

嗯,默认的外观是底部图像中的外观。那么你做了什么,首先要看到顶部图像?我的猜测是,您使用图像作为UINavigationBar的背景。找到图像并将其替换为没有圆角的版本。

另一种选择是UINavigationBar子类。在这种情况下,您可能会查找该子类并查看是否存在类似于[self.layer setCornerRadius:3.0]的行并将其删除。

答案 2 :(得分:2)

我相信Sascha可能是正确的,当他说当你使用黑色状态栏时会自动添加圆角。我注意到在我的一个新应用程序中,我的UINavigationController有圆角和黑色状态栏,即使我没有在xib文件,info.plist文件甚至App Delegate中设置它。

我做了一个快速测试并交换了我用于UINavigationController / NavigationBar背景的图像,并发现导航栏颜色自动影响状态栏,而状态栏又绕过导航栏的角落(很奇怪)< / p>

查看导航栏的快照(圆角是纯粹根据我用作UINavigationController背景的图像颜色生成的!)

enter image description here

enter image description here

所以我想在你的情况下 - 一个建议是尝试不同的颜色背景,看看你是否有与我相同的结果。