我使用UICollectionView
默认值UICollectionViewFlowLayout
。它适用于 iOS 8,但在 iOS 7.1 上我得到
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行 -layoutSubviews 后仍需要自动布局。UICollectionView的-layoutSubviews的实现需要调用super
我发现使用 UITableViewCell 子类执行“-layoutSubviews 后仍需要自动布局”,但没有一个解决方案有效
另一个线索是我在 UICollectionView 中添加了一些视图,并为该视图设置了 AutoLayout
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[self.collectionView addSubview:button];
[button mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.right.equalTo(self.collectionView);
make.height.mas_equalTo(30);
}];
这就是我的自定义 UICollectionView
@implementation FTGCollectionView
- (void)layoutSubviews {
[super layoutSubviews];
//[self layoutIfNeeded]; // Should not call as it cause collection view to not scroll
}
@end