我尝试使用Autolayout创建以下设置到我的UITableView,然后将其添加为其包装器UIView的子视图。
到目前为止,我正在使用以下内容,但是根本没有任何运气。这是我所拥有的,它正在抛出错误。
//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工作。
答案 0 :(得分:2)
你可能忘了这样做:
self.tableViewVideoList.translatesAutoresizingMaskIntoConstraints = NO;
你应该添加`tableViewVideoList'在设置约束之前进入超级视图。
您缺少顶部布局约束或高度约束(如3stud1ant3指出)