我使用默认UICollectionView
的{{1}}。它适用于iOS 8,但在iOS 7.1上我得到了
由于未捕获的异常而终止应用 'NSInternalInconsistencyException',原因:'自动布局仍然存在 执行-layoutSubviews后需要。 UICollectionView的 -layoutSubviews的实现需要调用super
我找到了这个“Auto Layout still required after executing -layoutSubviews” with UITableViewCell subclass,但解决方案都没有找到
另一个线索是我在UICollectionView中添加了一些视图,并为该视图设置了AutoLayout
UICollectionViewFlowLayout
这是我的自定义UICollectionView
中的内容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);
}];
答案 0 :(得分:1)
我认为这是一个iOS 7错误,而不是[self.collectionView addSubview:button];
我改为[self.view addSubview:button];
,self.view是self.collectionView的父视图。
所以在iOS7中不要将子视图添加到UICollectionView并为该子视图使用自动布局