Использую UICollectionView
по умолчанию UICollectionViewFlowLayout
. Он работает на 8 прошивке, но на прошивке 7.1 я получаюАвто-макет еще требуется после выполнения -layoutSubviews. Реализация UICollectionView -layoutSubviews должна быть вызвана супер
Нагрузочного приложение из-за неперехваченное исключение «NSInternalInconsistencyException», причина: «Auto Layout еще требуется после выполнения -layoutSubviews. реализация UICollectionView о -layoutSubviews нужно вызвать супер
я нашел это “Auto Layout still required after executing -layoutSubviews” with UITableViewCell subclass, но ни один из раствора не работает
Еще один ключ, что я добавляю некоторые представления в 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
вы переопределить layoutSubviews? если это так, вы назвали super.layoutSubviews? если нет, то вот вы: –
Я вижу, что это может случиться с UICollectionView, UITextField, UITableView, UINavigationBar ... Мое обходное решение - отключить autoLayout для подзапросов (и внушительных дочерних объектов) и установить фрейм вручную – onmyway133
Для UICollectionView мы может добавить subview в 'UICollectionReusableView' в его' layoutSubviews' – onmyway133