Swift - 视觉约束不起作用

时间:2016-03-12 20:45:09

标签: swift autolayout

我有一个scrollView,我实例化programaticaly。我想要做的是添加约束,使其在水平和垂直方向都看起来很好。约束不起作用的问题

它看起来如何垂直 - 好

enter image description here

它看起来如何水平 - 不好

enter image description here

代码正在关注

valueRef()

1 个答案:

答案 0 :(得分:0)

问题是您在contentSize中设置了scrollView viewDidLoad和imageView的帧。这对于纵向模式是可以的,但是当视图旋转到横向时,它的框架也会发生变化,因此您必须相应地更新这些值。我想你在这里有3个机会。

  • 在视图旋转时跟踪轮换事件并更新contentSize和imageView框架的scrollView
  • scrollView使用Autolayout。您不必计算contentSize或设置imageView的帧,只需在viewDidLoad中设置一次约束。您可以在此处找到一些示例https://stackoverflow.com/a/20232911/4757335
  • 使用UICollectionView代替UIScrollView。它更容易处理旋转。