【问题标题】:Understanding UIScrollView Constraints了解 UIScrollView 约束
【发布时间】:2019-03-28 16:24:54
【问题描述】:

我有一个UIScrollView,里面有一个UIView,视图里面有3个UITableViews,我对视图有以下约束:

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

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

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

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

我的问题是为什么宽度约束和前导/尾随约束之间没有冲突?

【问题讨论】:

    标签: ios objective-c uiscrollview autolayout


    【解决方案1】:

    有了你的布局约束,View 的 frame size 现在变成了 ScrollView 的 contentSize。 所以如果你改变 _contentViewWidthLayoutcontraint 的常量,它和你改变 ScrollView contentSize.width 是一样的。

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

    【讨论】:

    • 所以你的意思是我可以删除我的代码中的第一行?我也有宽度和前导/尾随约束的问题。他们不冲突吗?!
    • 是的,您可以删除第一行。
    • 宽度和前导/尾随在某些情况下可能会发生冲突,例如 UIView。
    猜你喜欢
    • 2014-11-25
    • 2019-10-11
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 2017-08-13
    • 2019-04-02
    相关资源
    最近更新 更多