这是我的视图层次结构
- UIStackView --- UIScrollView - UIImageView
StackView分发设置为.FillProportionally
,但这不起作用,因为UIScrollView没有内在的内容大小。
所以我的问题是因为UIIMageView具有内在的内容大小,我有没有办法将该内容大小传递给UIScrollView,因此StackView可以显示视图的正确大小。
我已经尝试根据contentSize
的{{1}}和width
来设置scrollView的height
,但似乎无法正常工作。
我也不确定在哪里设置约束,如果这是一种替代方法,我需要根据ImageView的UIImageView
为ScrollView设置动态大小,这样一个固定的约束就会赢得&#t; t帮助。
我还应该指出让contentSize
作为ImageView
的子视图的原因是能够在scrollView
内调整ImageView
的大小
答案 0 :(得分:0)
我正在回答我自己的问题
您需要覆盖intrinsicContentSize
UIScrollView
属性
在这种情况下
override func intrinsicContentSize() -> CGSize {
if let image = imageView.image {
return CGSizeMake(image.size.width, image.size.height)
}
return CGSizeMake(0, 0)
}