По сути, я хочу собирать данные в ячейках коллекции. Ячейки могут иметь фиксированный или малый диапазон ширины, постоянную высоту и содержать одни и те же основные элементы пользовательского интерфейса. По мере создания большего количества ячеек они должны «течь» поперек экрана.Невозможно удовлетворить ограничениям в виде коллекции
Я пытаюсь (первый раз) настроить представление UICollection, которое должно загрузить одну ячейку, в которой есть текстовое поле и некоторые кнопки с ограничениями в IB, а также дополнительное представление нижнего колонтитула с помощью кнопки для добавления ячеек. Представление загружается с начальной ячейкой в симуляторе (без нижнего колонтитула), но я получаю ошибки в моем журнале во время выполнения. Перед запуском нет ошибок ограничения, и я пробовал много вариантов. В журнале ограничение выделяется следующим образом: NSAutoresizingMaskLayoutConstraint: 0x7fbc3ae4fdc0 h = - & v = - & V: [UIView: 0x7fbc3ac3a270 (50)]. Я не добавил никаких UIViews, и я не вижу никого в меню раскадровки сцен, контроллеров и представлений. Если я устанавливаю translatesAutoresizingMaskIntoConstraints на false, я получаю сообщение об ошибке: «Должен переводить авторезистирующую маску в ограничения, чтобы иметь _setHostsLayoutEngine: YES.»
Что еще происходит здесь, и как я могу эффективно контролировать свой макет здесь.
Вы добавили ограничения ко всем объектам в UICollectionViewCell, поэтому каждый из них имеет минимум 4 ограничения, чтобы связать их во время выполнения? Если нет, это может быть проблемой, см. Этот ответ, в котором подробно рассказывается о том, как правильно настроить ячейку с ограничениями. http://stackoverflow.com/a/25775111/2507277 Я надеюсь, что это поможет с вашей проблемой. –
Я следовал шаблону добавления ограничений сверху и слева, а также ширины и высоты, и, как вы полагаете, все ограничения были в порядке во время выполнения! Моя проблема тогда заключалась в том, что я не хотел ни фиксированной ширины, ни высоты, но добавление какого-либо ограничения в задний край ячейки возвращало ошибки. Затем я понял, что ширина самой ячейки, когда она установлена в коде, должна противоречить ширине содержимого внутри ячейки. Спасибо Джим за открытие трещины. Если вы считаете, что это стоит вашего времени, поставьте ответ - см. Комментарии, и я помету его как ответ. – DrWhat