у меня есть UICollectionView с UICollectionViewFlowLayout. Я также реализую протокол UICollectionViewDelegateFlowLayout.
В моем источнике данных у меня есть куча UIViewController, которые реагируют на пользовательский протокол, поэтому я могу запросить их размер и некоторые другие вещи.
В делегате FlowLayout, когда он запрашивает sizeForItemAtIndexPath:, я возвращаю размер элемента, который я получаю из своего протокола. ViewControllers, которые реализуют мой протокол, возвращают разный размер элемента в зависимости от ориентации.
Теперь, если я изменю ориентацию устройства с портретной на альбомную, проблем не будет (элементы больше в альбомной ориентации), но если я изменю ее обратно, я получу это предупреждение:
the item width must be less that the width of the UICollectionView minus the section insets left and right values.
Please check the values return by the delegate.
Он все еще работает, но мне не нравится получать предупреждения, поэтому, возможно, вы можете сказать мне, что я делаю неправильно. Также есть еще одна проблема. Если я не скажу, что мой collectionViews collectionViewLayout аннулируется в willAnimateRotationToInterfaceOrientation: sizeForItemAtIndexPath: никогда не вызывается.
Надеюсь, вы понимаете, что я имею в виду. Если вам нужна дополнительная информация, дайте мне знать :)