我使用class sizes
为iPhone和iPad制作了不同的布局(我将Any-Any
布局留空了)。包括Regular-Compact
在内的iPhone的布局工作正常,但我遇到的问题是iPad的布局。
我为iPad横向制作了Regular-Any
版面,为iPad肖像制作了Any-Regular
。
我对横向和纵向约束使用两个IBOutletCollections
并将它们应用为
if (_needsiPadConstraintsApplied) {
if (UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation)) {
[NSLayoutConstraint deactivateConstraints:self.iPadLandscapeConstraints];
[NSLayoutConstraint activateConstraints:self.iPadPortraitConstraints];
} else {
[NSLayoutConstraint deactivateConstraints:self.portraitConstraintsIPad];
[NSLayoutConstraint activateConstraints:self.landscapeConstraintsIPad];
}
_needsiPadConstraintsApplied = NO;
}
但是当我使用iPad运行我的项目时,我的应用程序正在终止
错误:
由于未捕获的异常终止应用程序' NSGenericException', 原因:'无法使用项目激活约束>和 < _UILayoutGuide:0x7f9a1b62a9e0; frame =(0 0; 0 0); hidden = YES; layer =>因为他们没有共同的祖先。是约束 不同视图层次结构中的参考项目?这是非法的。'
我已经尝试了很多解决方案,但一切都不适合我。