添加到父视图时将AutoLayout约束添加到UITableView

时间:2017-10-31 15:45:28

标签: ios objective-c autolayout

我尝试使用Autolayout创建以下设置到我的UITableView,然后将其添加为其包装器UIView的子视图。

enter image description here

到目前为止,我正在使用以下内容,但是根本没有任何运气。这是我所拥有的,它正在抛出错误。

//Trailing
    NSLayoutConstraint *trailing =[NSLayoutConstraint
                                   constraintWithItem:self.tableViewVideoList
                                   attribute:NSLayoutAttributeTrailing
                                   relatedBy:NSLayoutRelationEqual
                                   toItem:self.viewContentWrapper
                                   attribute:NSLayoutAttributeTrailing
                                   multiplier:1.0f
                                   constant:0.f];

    //Leading

    NSLayoutConstraint *leading = [NSLayoutConstraint
                                   constraintWithItem:self.tableViewVideoList
                                   attribute:NSLayoutAttributeLeading
                                   relatedBy:NSLayoutRelationEqual
                                   toItem:self.viewContentWrapper
                                   attribute:NSLayoutAttributeLeading
                                   multiplier:1.0f
                                   constant:0.f];

    //Bottom
    NSLayoutConstraint *bottom =[NSLayoutConstraint
                                 constraintWithItem:self.tableViewVideoList
                                 attribute:NSLayoutAttributeBottom
                                 relatedBy:NSLayoutRelationEqual
                                 toItem:self.viewContentWrapper
                                 attribute:NSLayoutAttributeBottom
                                 multiplier:1.0f
                                 constant:0.f];

    [self.viewContentWrapper addConstraint:trailing];
    [self.viewContentWrapper addConstraint:bottom];
    [self.viewContentWrapper addConstraint:leading];


    [self.viewContentWrapper addSubview:self.tableViewVideoList];

任何帮助都会非常感谢,我通常会在Storybaord中完成所有的Autolayout工作。

1 个答案:

答案 0 :(得分:2)

你可能忘了这样做:

self.tableViewVideoList.translatesAutoresizingMaskIntoConstraints = NO;

你应该添加`tableViewVideoList'在设置约束之前进入超级视图。

您缺少顶部布局约束或高度约束(如3stud1ant3指出)