UIView忽略XCode 8中的背景颜色(或布局问题)

时间:2016-09-26 12:45:01

标签: ios objective-c xcode uiview

我一直在开发XCode 7中的应用程序,一切都很顺利。我想“嘿,让我们更新到iOS 10”,以便在XCode 8中打开项目并开始修复警告并寻找问题。

现在似乎UIView加载了空白背景,无论是从故事板还是在代码中创建。在故事板中,我有UIView背景为redColor但第一次显示(在UICollectionViewCell中)时,它会显示clearColor背景,或者会出现,调试一切看起来很好看。当我从细胞中滑动并回到同一个细胞时(通过向后滑动或细胞被回收)它会得到正确的颜色......我已尝试[cell setNeedsDisplay][cell setNeedsLayout]为否果...

即使我尝试在我的代码中设置backgroundColor,它也无助于最初显示时的外观。

设置背景颜色没有任何意外(通过制作覆盖该功能的自定义类进行检查)并且视图未隐藏,也没有0 alpha(子视图显示正常)。

我应该指出这似乎是clearColor因为我得到的某些子视图UILabel仍然显示正常。

我认为我无法提供更多信息,但随时可以提出来!

编辑:事实证明backgroundColor可能很荣幸,但视图的布局有些奇怪。框架看起来很好但是如果我使用clipsToBounds那么我的子视图标签就会消失,所以视图框架必须在屏幕外或零尺寸...

2 个答案:

答案 0 :(得分:1)

似乎是XCode 8故事板中的一个错误。一旦Mike帮助我将其简化为某种布局问题,我开始搜索而不是backgroundColor问题,并遇到了这个有用的线程:https://stackoverflow.com/a/39589860/1751266

如果您将故事板恢复为XCode 7格式,那么一切都会再次运作。不幸的是,每次对故事板进行更改时都必须这样做。但是嘿,它有效......

答案 1 :(得分:0)

我遇到了这个问题,它似乎与布局有关。在我的情况下,我只需要"清除所有约束"从受影响的视图中,然后正确呈现背景颜色。