我正在设计一个UIViewController,它包含一个UIScrollView,并且该UIScrollView包含一个UIView(我将其称为内容视图)。内容视图具有动态内容,因此ScrollView的高度会有所不同。我已经使用这种模式创建了许多ViewController,但是,这有点不同,因为有时需要显示的内容量会导致视图与UIView的大小相同(因此,视图将无法滚动,因为内容量可以按原样显示在屏幕上。
我几乎肯定我设定的约束应该对我有用。我在ScrollView上设置了左,右,上,下约束,并在“主” UIView上设置了左,右,上,下和等宽以及起始高度(与ScrollView相同)。>
我看到的问题是,在部署视图控制器时,在部署后,内容视图不会扩展到与ScrollView相同的高度(看起来像被切掉了)。仅当内容量可以按原样显示在屏幕上时,才会发生这种情况。当有太多内容无法容纳在屏幕上且视图变为可滚动时,我没有问题(第二张图片)。
我不确定内容视图的高度是否正确或是否在Y位置(我有一个工具栏,因此ScrollView的顶部约束固定在工具栏的底部-Y为64)。然后,我打印了ScrollView和内容视图的Y位置和高度。 Y分别为64和0,高度为603和603。内容视图上的0位置很有意义,因为它的超级视图是ScrollView。因此,鉴于Y位置和高度似乎正确,我不知道为什么会看到此问题。
Screenshot when the view becomes scrollable and the view renders properly