2016-10-06 1 views
1

У меня возникает проблема с дизайном интерфейса Xcode. У меня есть раскадровка, где у одного контроллера вида есть UICollectionView, от края до края до корневого представления View Controller. Корневой вид имеет ограничения на потомок -16 и -16 для Leading и Trailing space для UICollectionView.XCode8: UICollectionView от края до края, ограничения редактирования в вариации одного признака (класс размера) ломают другие вариации значений

Когда я переключаюсь на другой класс размера (или вариацию вариации, как он теперь называется), верхний и конечный поля становятся равными -20, -20. Если я отрегулирую их на край к краю, то другая вариация изменения будет вставлена ​​на 4 пикселя с каждой стороны. Таким образом, редактирование ограничений в одной вариации закручивает другую вариацию, и, следовательно, вся моя внутренняя логика вычислений отключена для ячеек.

Таким образом, я не могу одновременно одновременно удовлетворять ограничениям в нескольких вариациях признаков, и мой UICollectionView просто должен быть от края до края без каких-либо дополнений вокруг него.

Я попытался переделать все ограничения. Тот же вопрос.

Я попытался отключить вариации на самой раскадровки. Тот же вопрос.

EDIT: Также попытался добавить «Промежуточный просмотр» (также от края до края) и разместить в нем свой UICollectionView. Не имеет никакого значения.

Я заметил, что отрицательное количество вставки должно быть разным на каждом коэффициенте устройства. На некоторых -16 -16, на некоторых это -20, -20, на iPad это -8, -8. Таким образом, поскольку это статические значения, то как вы можете надежно вставлять край прокрутки в край, без использования программных программ во время выполнения?

Я могу исправить размер экрана одного устройства, но он нарушает другие размеры экрана.

Кроме того, я действительно не хочу использовать классы размера, но даже если я отключу классы размера, я все равно не получаю одно унифицированное представление для редактирования ограничений в одном месте. Таким образом, это эффективно умножает работу, которую я должен выполнить в 6 раз. Мне это уже смешно.

Любые предложения?

ответ

2

Я нашел дешевое и легкое решение. Моя проблема заключалась в том, что мои ограничения для Leading и Trailing были для Margin, а не для супервизора напрямую. Маржа - это то, что отличается по размерным классам. Поэтому я изменил свои 2 ограничения: Leading and Trailing, отключив опцию «Относительно маржи» на каждом из них. Инструкции здесь: UIViewController Nested View To Screen Edge

Теперь я получаю последовательное поведение при каждом размере экрана (без полей вокруг вида коллекции).

Смежные вопросы