iOS 7.1中从UICollectionViewController进行推送转换时UINavigationBar后面出现了暗色背景

5
我在从UICollectionViewController转到下一个UIViewController时遇到了一些问题。问题是:在推出下一个视图时,在导航栏右侧似乎添加了黑色背景。我尝试替换下一个视图控制器,但问题仍然存在。但是当将UICollectionViewController替换为另一个时,问题消失了。
注意:这个问题似乎是iOS 7.1的一个bug。因为我不记得在更新设备之前发生过这种情况。
如果您没有理解我的问题,这里有一个视频
有人能帮忙吗?
提前感谢大家,对我的英语表示抱歉,
Bader
5个回答

11

self.navigationController.view.backgroundColor设置为所需的颜色,可以解决这个问题。


6

我之前也遇到了同样的问题。 这是一个bug。 当转换时,UINavigationController视图具有黑色背景,并破坏了透明的导航栏。 要解决此问题,您可以通过以下方式在代码中更改UINavigationController的背景: self.navigationController.view.backgroundColor = [UIColor whiteColor];

或者在Interface Builder中设置UINavigationController的视图颜色: enter image description here


2

好的,我终于知道是什么导致了这个问题。那是因为我将一个 ILTranslucentView 添加为UICollectionView单元格的子视图。此外,使用UIToolbar也会导致相同的问题(我仍然认为这是iOS 7.1的错误,因为以前没有发生过这种情况)。

解决方案:从您的视图控制器中删除任何UIToolbar。


0

当下一个视图被推出时,在该视图控制器的.m文件中删除self.edgesForExtendedLayout = UIRectEdgeNone;,如果您在代码中编写了它。


我没有写那段代码。而且问题也不是由于下一个(已推出的)视图控制器引起的,因为我已经用另一个视图控制器替换它了,但问题仍然存在。 - Bader Al-Rasheed

-1

self.navigationController.navigationBar.translucent = NO

这段代码是用于iOS编程中的导航栏设置。它的作用是控制导航栏是否半透明显示。将该属性设置为NO,则导航栏不会显示出背景内容,而是完全不透明,可以遮挡其他视图的内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接