Chl*_*bta 10 cocoa-touch objective-c ios
这段代码:
[self.collectionView setTranslatesAutoresizingMaskIntoConstraints: NO];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.collectionView
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.topLayoutGuide
attribute:NSLayoutAttributeTop
multiplier:1.0f
constant:1.0f]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.collectionView
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:self.bottomLayoutGuide
attribute:NSLayoutAttributeBottom
multiplier:1.0f
constant:0.f]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.collectionView
attribute:NSLayoutAttributeLeading
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeLeading
multiplier:1.0f
constant:0.0f]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.collectionView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeRight
multiplier:1.0f
constant:0.0f]];
Run Code Online (Sandbox Code Playgroud)
在iOS 8和iOS7上工作正常,但现在当我运行我的应用程序时使用iOS9时出现此错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'***+ [NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]:无法在前导/尾随属性和右/下之间建立约束左属性.对两者使用前导/尾随或两者都不使用.
当我删除这些约束我的应用程序工作正常.所以我需要知道问题是什么以及从iOS8到iOS9的变化.
EI *_*2.0 14
你的日志清楚地表明......你可以使用leading/trailing或right/left不使用两者......
所以只需更改下面的第4个约束
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.collectionView
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self.view
attribute:NSLayoutAttributeTrailing
multiplier:1.0f
constant:0.0f]];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3976 次 |
| 最近记录: |