ScrollView在UIStackView中

时间:2016-07-21 11:58:57

标签: uiscrollview nslayoutconstraint uistackview

这是我的视图层次结构

- UIStackView --- UIScrollView - UIImageView

StackView分发设置为.FillProportionally,但这不起作用,因为UIScrollView没有内在的内容大小。

所以我的问题是因为UIIMageView具有内在的内容大小,我有没有办法将该内容大小传递给UIScrollView,因此StackView可以显示视图的正确大小。

我已经尝试根据contentSize的{​​{1}}和width来设置scrollView的height,但似乎无法正常工作。

我也不确定在哪里设置约束,如果这是一种替代方法,我需要根据ImageView的UIImageView为ScrollView设置动态大小,这样一个固定的约束就会赢得&#t; t帮助。

我还应该指出让contentSize作为ImageView的子视图的原因是能够在scrollView内调整ImageView的大小

1 个答案:

答案 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)
}