了解UIScrollView约束

时间:2018-10-24 09:45:36

标签: ios objective-c uiscrollview autolayout

我有一个UIScrollView,其中有UIView,视图中有3 UITableViews,并且对视图有以下约束:

enter image description here

在我的代码中,恰好在ViewDidLayoutSubviews中,我有以下代码

- (void)viewDidLayoutSubviews {
    [_containerScrollView setContentSize:CGSizeMake(SCREEN_WIDTH * 3, [_containerScrollView frame].size.height)];

    [_contentViewWidthLayoutcontraint setConstant:SCREEN_WIDTH * 3];
    [[self view] layoutIfNeeded];
}

将视图宽度实际更改为屏幕宽度。

我的问题是为什么宽度约束与前/后约束之间没有冲突?

1 个答案:

答案 0 :(得分:2)

在您的布局限制下,View的帧大小现在变为ScrollView的contentSize。 因此,如果更改_contentViewWidthLayoutcontraint的常量,则与更改ScrollView contentSize.width相同。

请注意,ScrollView.frame.size和ScrollView.contentSize完全不同。