У меня есть вертикальный макет потока UICollectionView, который представляет 16x9 изображений. При нажатии на изображение ячейка расширяется по вертикали, чтобы добавить некоторые детали об изображении.
Я в значительной степени сделал это в коде, но, исходя из моего понимания текущих возможностей автоматического макета c, я мог бы сделать это в этой статье.
То, что я хотел бы сделать, но, похоже, не может заставить его работать, когда я устанавливаю автоматический c макет в представлении коллекции:
1) Размер ширины ячейки и ее представления содержимого дочерний к ширине представления коллекции минус некоторый запас. 2) Ограничьте ширину представления UIImage шириной представления содержимого. 3) Ограничить соотношение сторон изображения UIImage до 16x9. 4) Закрепить изображение в верхней части представления содержимого в ячейке - для этого, похоже, работает верхнее пространство для суперпредставления. 5) Разверните представление содержимого в ячейке по вертикали, когда я показываю другой вид под изображением. 6) В идеале представление в 5 выше также будет динамически изменяться в зависимости от его собственного содержимого. (Я почти уверен, что смогу справиться с этой частью, поскольку я проделал то же самое с этим конкретным представлением вне ячейки представления коллекции.
Я установил расчетный размер в макете потока как автоматический c. Кажется, что в представлении ячейки и содержимого нет возможности добавлять ограничения начала / конца, которые, по моему мнению, были бы необходимы, чтобы привязать ширину ячейки к ширине представления коллекции. Я могу установить ограничение начала / конца / верхней части.
Все, что я получаю, это 50х50 ящиков, когда я пытаюсь это сделать. Я уверен, что это должно быть возможно сделать через раскадровку, а не программно, но, похоже, не могу понять это.
Изображения, иллюстрирующие то, чего я хочу достичь. Я прошу прощения за затемнение в центре изображения. Не уверен, что я нарушил бы какие-либо правила копирования-записи, поэтому вычеркнул их.
Пример свернутой ячейки с изображением:
свернутой ячейки с изображением
Пример развернутой ячейки с изображением
расширенная ячейка w ih изображение