为什么我的视图调试器显示不同的布局,我该如何匹配它?

时间:2018-08-15 01:59:23

标签: xcode autolayout uistackview

为什么我的视图调试器显示不同的值,如何使我的应用程序与之匹配?

我的视图调试器正在显示此信息(这是正确的视图): enter image description here

但是我的iPhone错误地显示了以下内容: enter image description here

我和一个我认识的人交谈,他们说调试器再次布置了子视图。如何在我的应用程序中触发同一件事?

这是我的层次结构:

---UICollectionView
----UICollectionViewCell
-----UIStackView (vertical, scale to fill)
------UILabel (hugging and compression are 1000 for vertical and horizontal)
-------UIImageView (aspect fill, hugging and compression are 750 for vertical and horizontal)

如果我是纵向启动我的应用程序,则所有视图的布局均正确。如果我以横向模式启动我的应用程序,那么我会在图像中看到该错误的叠加层。有什么帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您应在代码或IB中设置imageView.clipToBounds = true(或任何其他UIView's)。

Apple文档参考

  

一个布尔值,该值确定子视图是否限于   视图的边界。将此值设置为true会导致子视图被裁剪到接收器的边界。如果设置为false,则不会裁剪其帧超出接收者可见范围的子视图。默认值为false。