我有一个UITableView。我想通过编程的方式为它设置约束。下面是我想要设置的约束。
发布于 2015-04-17 15:18:37
尝尝这个,
NSLayoutConstraint *constraintSet = [NSLayoutConstraint constraintWithItem:YourTableView attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeading multiplier:1.0f constant:0.f];
[self.view addConstraint:constraint];
现在也添加这个属性,
NSLayoutAttributeTop
NSLayoutAttributeTrailing
NSLayoutAttributeBottom
然后添加
[yourview addConstraint: constraintSet];
发布于 2015-04-17 15:34:27
在我的代码中通常使用下面这样的方法,你可以根据自己的需要进行定制。
-(void)addConstraintForView:(UITableView*)tableView toView:(UIView*)parentView
{
NSMutableArray *constraints = [NSMutableArray new];
[constraints addObject:[NSLayoutConstraint constraintWithItem:tableView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:parentView
attribute:NSLayoutAttributeTop
multiplier:1.0f
constant:0.0f]];
[constraints addObject:[NSLayoutConstraint constraintWithItem:tableView
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:parentView
attribute:NSLayoutAttributeLeading
multiplier:1.0f
constant:0.0f]];
[constraints addObject:[NSLayoutConstraint constraintWithItem:tableView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:parentView
attribute:NSLayoutAttributeTrailing
multiplier:1.0f
constant:0.0f]];
[constraints addObject:[NSLayoutConstraint constraintWithItem:tableView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:parentView
attribute:NSLayoutAttributeBottom
multiplier:1.0f
constant:0.0f]];
[parentView addConstraints:constraints];
}
发布于 2019-04-22 01:14:46
您可以使用SnapKit pod库以编程方式添加约束。在这里获取snapkit
import SnapKit
class YourViewController: UIViewController {
var tableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(tableView)
tableView.snp.makeConstraints { (make) -> Void in
make.leading.equalTo(0)
make.trailing.equalTo(self.view)
make.top.equalTo(0)
make.bottom.equalTo(0)
}
}
}
https://stackoverflow.com/questions/29692380
复制相似问题