我UILabel
内的UIView
内UIscroll
。 UILabel
中的文本可以更改,因此我使用此方法更改它的高度约束
func recalculateHeight(){
l_info.sizeToFit();
lc_heightInfo.constant = l_info.frame.height;
}
我在调用viewDidLoad()
和self.view.setNeedsLayout();
之后在self.view.layoutIfNeeded();
中调用此方法,以获得正确的宽度,具体取决于用户的iPhone。
iPhone 4s / 5 / 5s上的所有功能都很完美,但在iPhone 6/6上试用时,移动视图。
这就是iPhone 5s的外观: http://i.imgur.com/sGYzW3l.png
这就是它在iPhone 6/6 plus上的外观: http://i.imgur.com/qeCL22w.png
我正在搜索这段时间并且没有找到类似的东西。
修改
约束如下:
UIScrollView
的顶部和UIImageView
的顶部之间。 值= 0 UIImageView
的高度。 值= 128 UIImageView
的底部和包含UIView
的顶部UILabel
之间。 值= 7 UIView
的顶部UILabel
和顶部之间。 值= 17 UILabel
的高度。 这是我正在改变的约束 UILabel
的底部和UIView
的底部之间。 值= 17 UIView
的底部和UIScrollView
的底部之间。 值= 7 编辑2:
我检查了UIImageView
底部和UIView
(数字3)之间的约束,调试器说它被设置为7.我尝试从代码中设置但没有任何反应。< / p>
我也进入了视图debbuger,它看起来很完美。
有什么想法吗? 谢谢!
答案 0 :(得分:1)
您的l_info.frame.height
可能在各设备之间保持不变,但标题imageView高度会发生变化。
检查您如何设置lc_heightInfo
约束。它应该设置在(标签)容器视图和顶部的imageView之间。这样,您的容器视图将始终与顶部的imageView保持相同的距离。
或者,如果该ImageView不是滚动视图的一部分,则应在容器视图和滚动视图顶部之间设置一个约束,并在scrollView顶部和标题ImageView之间设置一个约束。希望这会有所帮助:)