COO*_*IES 3 objective-c ios nslayoutconstraint
介绍:
是的,我已经浏览了与该主题相关的所有问题,所有答案都无济于事。下面的代码不断使我抛出NSInvalidArgumentException异常,但我仍然看不到它出了什么问题。
题:
我已经尝试了所有可能尝试的方法。它仍然崩溃,并始终显示相同的错误消息。'Unable to parse constraint format:
sceneView is not a key in the views dictionary.'。
这是我的工作:
- (SCNView *)sceneView { // Lazy Load
if (_sceneView == nil) {
_sceneView = [[SCNView alloc] initWithFrame:self.bounds];
_sceneView.backgroundColor = [UIColor blackColor];
_sceneView.scene = self.scene; // Load scene
_sceneView.translatesAutoresizingMaskIntoConstraints = NO;
}
return _sceneView;
}
Run Code Online (Sandbox Code Playgroud)
然后在中-(void)commonInit,将其添加:
if ([self.sceneView isDescendantOfView:self] == NO) {
[self addSubview:self.sceneView];
}
[self.sceneView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[sceneView]|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(self.sceneView)]];
Run Code Online (Sandbox Code Playgroud)
此后,它异常终止。为什么?
使用自我。仅用于调用返回对象的方法,您不能将其用作键,这是您做错的。使用以下方式,它将解决您的崩溃问题:
[self.sceneView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_sceneView]|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_sceneView)]];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
681 次 |
| 最近记录: |