Я пытаюсь настроить IOS 8 авто клеящих клеток в UICollectionViewController
:
я создал базовую конструкцию с помощью раскадровки и проектируемой один UICollectionViewCell там с ярлыком ограничений в пределы клетка. Затем я связал метку ячейки с классом Cell, чтобы иметь доступ к ней программно.
Без указания estimatedItemSize
все работает нормально (за исключением автоматического определения размера, конечно).UICollectionView Cell Auto Size с AutoLayout IOS 8
Когда я указываю estimatedItemSize
так:
- (void)viewDidLoad {
[super viewDidLoad];
UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)self.collectionViewLayout;
layout.estimatedItemSize = CGSizeMake(100.0f, 30.0f);
}
сбой приложения с этими сообщениями об ошибках:
the behavior of the UICollectionViewFlowLayout is not defined because:
the item width must be less than the width of the UICollectionView minus the section insets left and right values.
Please check the values return by the delegate.
Я думаю, я устанавливаю estimatedItemSize
в неправильном месте, или, если у меня уже есть заданный размер элемента, установленный в раскадровке, поэтому он каким-то образом противоречит предполагаемому размеру.
Да, он должен работать, но обратите внимание, что для iphone 6 и 6+ ваш ярлык не будет покрывать всю ширину экрана ... – jerrygdm
Я сделал выход и изменил значение ограничения во время выполнения на ширину экрана телефона. –
У меня есть ячейка шириной 150, но ее размер не изменяется для iphone 6 и 6 plus. вы можете найти его здесь http://stackoverflow.com/questions/27981200/how-to-resize-uicollectionviewcell-in-iphone-6-and-6-plus-using-autolayout – Rugmangathan