以编程方式添加带有自动布局的 UITableView
Posted
技术标签:
【中文标题】以编程方式添加带有自动布局的 UITableView【英文标题】:Adding UITableView with autolayouts programmatically 【发布时间】:2013-10-21 11:04:02 【问题描述】:当我以编程方式添加 UITableView 并使用 Autolayouts 时,我通常会这样编写代码:
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)
style:UITableViewStylePlain];
[self.view addSubview:self.tableView];
self.tableView.translatesAutoresizingMaskIntoConstraints = NO;
NSDictionary *views = @@"tableView": self.tableView;
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[tableView]|"
options:0
metrics:nil
views:views]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[tableView|"
options:0
metrics:nil
views:views]];
UITableView 的默认初始化器需要定位一些 CGRect,但是当我们使用 AutoLayout 时,不需要编程设置框架。
我是否正确添加了 UITableView? 有没有办法避免“虚拟”CGRect?【问题讨论】:
我正在尝试同样的事情。 【参考方案1】:试试这个
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero];
【讨论】:
我认为这没有任何影响。以上是关于以编程方式添加带有自动布局的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章