【发布时间】:2014-03-14 14:47:00
【问题描述】:
当我使用 AutoLayout 技术将子视图添加到表视图时,我的代码崩溃了,这是我的代码:
@interface GNViewController () {
UITableView *_tvResults;
UIView *_view;
}
@end
@implementation GNViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor blueColor];
_tvResults = [UITableView new];
_tvResults.backgroundColor = [UIColor greenColor];
[self.view addSubview:_tvResults];
_view = [UIView new];
_view.backgroundColor = [UIColor redColor];
[_tvResults addSubview:_view];
_tvResults.translatesAutoresizingMaskIntoConstraints = NO;
_view.translatesAutoresizingMaskIntoConstraints = NO;
NSArray *cs = [NSLayoutConstraint constraintsWithVisualFormat:@"|[_tvResults]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tvResults)];
[self.view addConstraints:cs];
cs = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_tvResults]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_tvResults)];
[self.view addConstraints:cs];
cs = [NSLayoutConstraint constraintsWithVisualFormat:@"|[_view]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_view)];
[_tvResults addConstraints:cs];
cs = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_view]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_view)];
[_tvResults addConstraints:cs];
}
@end
崩溃消息如下:
2014-03-14 22:45:06.801 asdjasjdasdasd[3758:a0b] * -[UITableView layoutSublayersOfLayer:], /SourceCache/UIKit_Sim/UIKit-2903.2/UIView.m:8536 中的断言失败 2014-03-14 22:45:06.805 asdjasjdasdasd[3758:a0b] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行 -layoutSubviews 后仍需要自动布局。 UITableView的-layoutSubviews的实现需要调用super。'
请大家帮帮我,先谢谢了!
【问题讨论】:
标签: ios autolayout