Iphone iOS:addConstraints:崩溃应用程序 问题
我似乎无法在现有项目中采用自动布局 细节Iphone iOS:addConstraints:崩溃应用程序 问题,iphone,objective-c,ios,nslayoutconstraint,Iphone,Objective C,Ios,Nslayoutconstraint,我似乎无法在现有项目中采用自动布局 细节 我以前遇到过与此问题相同的问题presentViewController:iOS崩溃约束应该添加到作为子视图的超级视图的视图中。因此,如果这些对象位于主视图中,那么您应该具有(并且没有其他addConstraints:lines): 此外,您的字典views应该以nil结尾(我不知道这是否必要。我在一个苹果示例中注意到他们没有这样做,但函数定义用nil表示)。它肯定会在崩溃日志中为您提供一些信息。首先,间距常量应该放在括号中。不是真的。不,崩溃日志中根本
我以前遇到过与此问题相同的问题presentViewController:iOS崩溃约束应该添加到作为子视图的超级视图的视图中。因此,如果这些对象位于主视图中,那么您应该具有(并且没有其他addConstraints:lines):
此外,您的字典views应该以nil结尾(我不知道这是否必要。我在一个苹果示例中注意到他们没有这样做,但函数定义用nil表示)。它肯定会在崩溃日志中为您提供一些信息。首先,间距常量应该放在括号中。不是真的。不,崩溃日志中根本没有任何内容。@RobCaraway至少应该有发生的崩溃类型。它是SIGABRT吗<代码>EXC\u错误访问?或者什么?我错在括号上了,对不起。我认为rdelmar有您的答案,但要了解调试约束时的更多信息,您可能会发现添加一个all exceptions断点非常有用。rdelmar确实是正确的。不过,对于未来的obverservers来说,这确实是一个
SIGABRT
,在我寻找解决方案时,异常断点被打开。对于绑定字典宏,您不需要nil terminate。
-(void)addAllConstraints
{
NSDictionary * views = NSDictionaryOfVariableBindings(_memoryImage, _peopleView, _contentHolder, _commentsTableView);
NSArray * constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[_memoryImage]-50-[_peopleView]-0-[_contentHolder]-0-[_commentsTableView]" options:0 metrics:nil views:views];
NSLog(@"Views %@, Constraints %@", views, constraints);
[_peopleView addConstraints:constraints];
[_memoryImage addConstraints:constraints];
[_contentHolder addConstraints:constraints];
[_commentsTableView addConstraints:constraints];
}
2012-12-25 10:40:13.936 -----[4955:907] Views {
"_commentsTableView" = "<UITableView: 0x1eb6be00; frame = (0 372; 320 100); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x1e51ce00>; layer = <CALayer: 0x1e51cee0>; contentOffset: {0, 0}>";
"_contentHolder" = "<UIView: 0x1e5c6590; frame = (0 270; 320 112); layer = <CALayer: 0x1e5c27f0>>";
"_memoryImage" = "<UIButton: 0x1e5c4aa0; frame = (0 0; 320 280); opaque = NO; layer = <CALayer: 0x1e5c4b60>>";
"_peopleView" = "<UIView: 0x1f0ceea0; frame = (0 230; 320 50); layer = <CALayer: 0x1f0cf790>>";
Constraints (
"NSLayoutConstraint:0x1e51a880 V:[UIButton:0x1e5c4aa0]-(50)-[UIView:0x1f0ceea0]",
"NSLayoutConstraint:0x1e5ba4e0 V:[UIView:0x1f0ceea0]-(0)-[UIView:0x1e5c6590]",
"NSLayoutConstraint:0x1e51b860 V:[UIView:0x1e5c6590]-(0)-[UITableView:0x1eb6be00]"
)
}
(lldb)
[self.view addConstraints:constraints];