Viv*_*ive 8 crash objective-c ios autolayout
该应用程序正在崩溃Location anchors require being paired..我想修复它,但无论我用这个视图手动测试应用程序多少次,我都没遇到过崩溃(只登录Crashlytics).任何人都知道这里可能出现什么问题,在什么情况下可能会发生崩溃?
该属性centerYConstraint是必需的,因为稍后它允许用户向上/向下移动视图.
部分MyView.m文件.崩溃发生在设置上self.centerYConstraint.
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.centerYConstraint = [self.view.centerYAnchor constraintEqualToAnchor:self.parentViewController.view.centerYAnchor
constant:self.view.center.y - self.parentViewController.view.center.y];
self.centerYConstraint.active = YES;
}
Run Code Online (Sandbox Code Playgroud)
崩溃日志:
Fatal Exception: NSInvalidArgumentException
NSLayoutConstraint for <NSLayoutYAxisAnchor:0x16764ae0 "MyView:0x18e6b900.centerY">:
A constraint cannot be made from <NSLayoutYAxisAnchor:0x16764ae0 "MyView:0x18e6b900.centerY"> to a constant.
Location anchors require being paired.
Run Code Online (Sandbox Code Playgroud)
此异常发生在constraintEqualToAnchor:self.parentViewController.view.centerYAnchorGives时nil,也可能是self.parentViewController.view在 isnil或self.parentViewControlleris时nil。
所有层次结构逻辑从描述中并不清晰,但以下确实解决了问题(假设超级视图是父控制器的视图,否则应该添加更多条件)。
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.centerYConstraint = [self.view.centerYAnchor constraintEqualToAnchor:self.superview.centerYAnchor
constant:self.view.center.y - self.superview.center.y];
self.centerYConstraint.active = YES;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |