首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在iOS中以编程方式对UITableView进行约束

在iOS中以编程方式对UITableView进行约束
EN

Stack Overflow用户
提问于 2015-04-17 15:00:46
回答 3查看 434关注 0票数 -1

我有一个UITableView。我想通过编程的方式为它设置约束。下面是我想要设置的约束。

  1. Leading
  2. Trailing
  3. Top
  4. Bottom
EN

回答 3

Stack Overflow用户

发布于 2015-04-17 15:18:37

尝尝这个,

代码语言:javascript
复制
NSLayoutConstraint *constraintSet = [NSLayoutConstraint constraintWithItem:YourTableView attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeading multiplier:1.0f constant:0.f];
[self.view addConstraint:constraint];

现在也添加这个属性,

代码语言:javascript
复制
NSLayoutAttributeTop
NSLayoutAttributeTrailing
NSLayoutAttributeBottom

然后添加

代码语言:javascript
复制
[yourview addConstraint: constraintSet];
票数 0
EN

Stack Overflow用户

发布于 2015-04-17 15:34:27

在我的代码中通常使用下面这样的方法,你可以根据自己的需要进行定制。

代码语言:javascript
复制
-(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];
}
票数 0
EN

Stack Overflow用户

发布于 2019-04-22 01:14:46

您可以使用SnapKit pod库以编程方式添加约束。在这里获取snapkit

代码语言:javascript
复制
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)
    }
}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29692380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档