Размер ячейки UICollectionView в AutoLayout

Поэтому я использую AutoLayout в раскадровке с AutoLayout . Я пытаюсь установить размер ячейки на основе самого collectionView , и он основан на методе [collectionView: layout: sizeForItemAtIndexPath:] . collectionView также зависит от автоматического макета, и он дает неправильный размер в первый раз (я предполагаю, что это до отображения макета). Я знаю, что они будут иметь правильный размер после viewDidLayoutSubviews метода viewDidLayoutSubviews но он вызывает двойную перезагрузку элементов collectionView , что приводит к сбоям пользовательского интерфейса во время выполнения.

Ниже приведен метод [collectionView: layout: sizeForItemAtIndexPath:] моей реализации.

 - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { CGSize innerSize = CGSizeMake(galleryView.frame.size.width - 80, galleryView.frame.size.height - 40); GLPhotoAsset *photo = [(PCOpticsPhotoPoint *)_cluster.points[indexPath.row] photo]; CGFloat ratio = MIN(innerSize.width / photo.size.width, innerSize.height / photo.size.height); return CGSizeMake(photo.size.width * ratio, photo.size.height * ratio); } 

  • Помещение всех строк, находящихся в обоих двух массивах, в другой массив
  • Добавление и удаление NSMutableDictionary KVO
  • Должен ли я всегда проверять, что init ...] возвращает nil?
  • в Collectionview как установить цвета в соответствии с выбором?
  • Swift Collection underestimateCount использование
  • Как написать свой собственный итератор для свойства коллекции свойства (с правильным типом)?
  • Метод addObject NSMutableSet заменяет дубликат или игнорирует вставку?
  • 2 Solutions collect form web for “Размер ячейки UICollectionView в AutoLayout”

    Убедитесь, что проверено свойство просмотра Clip Subviews. , , ,

    И ваше свойство cellView cellView должно быть правильным в разделе «Размер и местоположение». , ,

    Может быть, это поможет вам. , ,

    Поскольку вы получаете неправильный размер макета до того, как вызывается sizeForItemAtIndexPath: затем перейдите в раскадровку и проверьте размер ячейки, заданный для этих 3 – CollectionView , CollectionViewCell и CollectionViewFlowLayout

    Сделайте их такими же. (также размер по отношению к размеру просмотра коллекции по умолчанию, как вам нужно)

    Interesting Posts

    Создание масштабируемого трехстрочного меню Nav-icon для кнопки в swift 2

    Как «подделать» восстановление при покупке приложения для предыдущих пользователей приложения при переходе с платного на бесплатный

    Parse Facebook Login Crash

    Чтобы размытый UIVibranceEffect работал, нужно ли добавлять его в виде отдельного представления в contentView UIBlurEffect?

    iPhone – как выбрать из коллекции UILabels?

    как сохранить такое же iPhone-приложение в iPad во время отладки

    Как найти узкое место UIImage

    iOS: HTTP Basic / Digest Auth с UIWebView

    iPhone: метод Sharepoint GetListItemChangesSinceToken возвращает элемент рекурсивно

    Как настроить Xcode 9 с помощью BitBucket

    URL-адрес redirect_uri должен быть абсолютной ошибкой для глубокого связывания URI fbAPP_ID: //

    Синий баннер «Ваше приложение использует ваше местоположение» не отображается после выхода из моего приложения

    Как сохранить все мои настройки сборки из 1 проекта xcode и использовать их в других проектах xcode?

    Наблюдение за нагрузкой на страницу UIWebView iOS

    Сканирование отпечатка пальца и получить его изображение в iPhone SDK

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.