StackView中的父UIView显示错误,但其子视图是正确的

时间:2018-06-08 08:41:24

标签: ios swift

我有一个问题,即在iPhone上正确显示帧/图层,但在iPad和iPhone X上没有显示。只有在转到另一个视图并返回到UIViewController后才能正确显示。

我在UIViews中有3 vertical StackView。第一个前2名正确显示。但第三个不是。第三个UIView包含containerView,其中有一个TableView。通过视图调试器,我可以看到containerViewtableView具有正确的帧,但看起来父UIView没有正确重绘。

以下是view debugger前面UIView的屏幕截图。带有红色背景的UIView显示不正确(在离开并返回到UIViewController后正确)。

UIView with red background incorrect (Frame is correct, but displayed wrong). The subviews have the correct frame. I set a backgroundcolor to those subviews and these are redrawn correctly

这里的背面视图相同:

UIView in question from behind

我尝试了.setNeedsDisplay..setNeedsLayout,然后是.setLayoutIfNeeded。在主线程中运行,但到目前为止没有成功。

我使用的是Swift 4和iOS 11.正如我所说,这是一个垂直的StackView。前2个UIViews有一个高度约束,这个没有约束,因为它应该填充其余部分。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

iPad和iPhone X的问题已解决,删除了错误绘制的视图上的阴影层。