ios - 以编程方式添加带有自动布局的 UITableView

标签 ios uitableview autolayout

当我以编程方式添加 UITableView 并使用自动布局时,我通常会这样编写代码:

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?

最佳答案

试试这个

self.tableView = [[UITableView alloc] initWithFrame:CGRectZero];

关于ios - 以编程方式添加带有自动布局的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19492797/

相关文章:

ios - iOS 中的可扩展 View

javascript - 我如何知道某个应用程序是否已通过 Safari 安装在 iPhone 上

ios - 如何初始化自定义 View ( Controller )以便它既可以编程方式又可以在 Interface Builder 中工作?

ios - UILabel 自动换行功能即使有足够的空间供单词使用也能留出空间

iOS Autolayout 视觉格式 - 如何设置间距以尝试一个值但在小屏幕上回退到另一个值?

ios - 具有自动布局的嵌套 UITableView

ios - 在 GameScene 和 ViewController 之间移动 Swift

ios - 添加自定义后退按钮对 UINavigationBar 不起作用

iphone - 如何获取 heightForRowAtIndexPath 中的 UITableViewCell?

ios - uitableview 标题 View 问题