Форум программистов, компьютерный форум CyberForum.ru

Ячейки, динамически меняющие размер - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Сравнение элементов массива http://www.cyberforum.ru/ios-dev/thread1168773.html
Есть массив с именами файлов NSArray *fileList = initWithObjects: @"1.pdf", @"2.png", @"1.png", @"1.jpg", @"1.doc", nil]; Вопрос, как из этого массива выбрать элементы с расширением картинок (png и jpg) и поместить их в другой массив, imageArray? Интересует вопрос как сравнивать элементы такого массива, что бы сравнивалось только расширение
Программирование iOS Просмотр картинок, кнопки back, forward Здравствуйте. Интересует вопрос как сделать перелистывание картинок? Все картинки находится в одной папке, как сделать, что бы при нажатии на кнопку forward, на тулбаре, открывалась следующая картинка, при этом в папке могут быть не только картинки, но и другие файлы, которые открывать в imageView не нужно. Добавлено через 3 часа 36 минут Переключение картинок я уже сделал, через массивы.... http://www.cyberforum.ru/ios-dev/thread1167811.html
Остановка потоков при закрытии приложения Программирование iOS
Всем привет! У меня есть класс, который в методе init запускает поток, который опрашивает состояние подключённого устройства и посылает уведомления подписчикам. -(id)init { //... ; } Как можно приостановить созданный поток, когда приложение закрывается (при получении viewDidDisappear, например) и возобновить, когда запускается?
Создание папки NSFilemanager Программирование iOS
Здравствуйте. Как создать папку в FileManager? И как сделать сортировку по типу, сначала папки а потом файлы?
Программирование iOS Ищу API Яндекса для вывода списка организаций http://www.cyberforum.ru/ios-dev/thread1166524.html
Делаю прогу под IOS. Надо вывести справочник организаций вот как тут. Не могу найти подходящее апи. Может кто работал с этим и подскажет правильное апи.
Программирование iOS Получение списка путей к фотографиям девайса Привет! Помогите плиз на objective реализовать получения путей к фоткам телефона. Нужно получить массив с путями. В objective я нуб. На Jave для дройда делал так public class PhotoPaths { private static PhotoPaths sInstance; //private static String TAG = "PhotoPaths"; public static PhotoPaths instance() { if (sInstance==null) подробнее

Показать сообщение отдельно
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225

Ячейки, динамически меняющие размер - Программирование iOS

07.05.2014, 16:36. Просмотров 611. Ответов 0
Метки (Все метки)

Всем привет!

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

Есть CollectionView (iPhone), в которой находятся раскрывающиеся по клику ячейки. Конкретнее - при клике на ячейку она увеличивается в длину, открывая свои дополнительные поля. При повторном клике, соответственно, сжимается обратно.

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

Как я реализовал этот функционал:
1) Для открытия/закрытия я нарисовал ячейку со следующей иерархией:
topViews
additionalViews (где находятся все дополнительные поля)
bottomViews

У topViews и bottomViews задан constraint height, а у центрального - нет.
После того, как на ячейку кликнули первый раз (открыли) - я в методе sizeForItemAtIndexPath для нее возвращаю высоту == сумме высот всех трех групп View.
Когда же ее закрыли - то возвращаю только сумму высот topViews и bottomViews, и в этом случае additionalViews, как не имеющая констрейнт высоты - сжимается до нуля.

2) Для уменьшения/увеличения размера ячейки, в зависимости от кол-во требуемых полей для отображения:
Провел аутлеты от каждого констрейнта высоты каждого поля.
В sizeForItemAtIndexPath проверяю - если в модели данных инфа для конкретного поля отсутствует, я отнимаю от результирующего CGSize.height значение констрейнта для этого поля, и устанавливаю этот констрейнт в ноль.

В результате все работает, но консоль прямо горит от разных ворнингов на тему "Unable to simultaneously satisfy constraints.". Неприятно((

Что вы скажете о моем подходе? Он неправильный в корне, и надо искать пути с другой стороны, или, в принципе, нормально, но просто где-то что-то немного не сходится, провоцируя эти самые "Unable to simultaneously satisfy constraints."?

Спасибо всем кто прочитал, а особенно - высказал свое мнение по поводу моей реализации.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru