Как установить ограничения на UICollectionViewCell? - PullRequest
0 голосов
/ 19 октября 2018

Я хочу, чтобы ширина моей ячейки была равна ширине экрана для каждого размера экрана.Я не могу установить ограничения в раскадровке, поскольку эта опция неактивна, а программная установка приводит к ошибке, которая говорит что-то вроде «Невозможно активировать ограничение с помощью якорей ... потому что у них нет общего предка», хотя яустанавливая ограничения только в качестве ведущих и конечных якорей представления.

При настройке раскадровки теперь ячейка имеет желаемую ширину на iphone SE и такую ​​же ширину на экранах большего размера.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

вы можете использовать метод делегата

viewcontroller:UICollectionViewDelegateFlowLayout {
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize.init(
            width: collectionView.bounds.height,
            height: collectionView.bounds.height
        )
    }
0 голосов
/ 19 октября 2018

Это может помочь вам установить ширину collectionView, равную ширине экрана.В вашем viewDidLoad() пишите этот код

let height: CGFloat = 100.0 //Some constant
let width: CGFloat = self.view.frame.width

let spLayout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
spLayout.itemSize = CGSize(width: width, height: height)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...