Autolayout очищает мой текст кнопки

Каждый раз, когда я пытаюсь использовать автомакет, текст кнопки в одной строке моей кнопки становится переполненным, пока он не перестанет быть видимым.

Я не знаю, что делать, чтобы исправить это, я попытался удалить кнопки-оскорбители и добавить их снова, но это обычно переносит проблему в другую строку.

вот как это выглядит в конструкторе интерфейсов.

введите здесь описание изображения

и вот как это выглядит при запуске на устройстве.

введите здесь описание изображения

Это очень расстраивает, и я не нашел никакой информации об этом. Как будто я единственный, на кого это влияет.

Если у кого-то есть какие-либо идеи по этому поводу, я был бы очень признателен.


person The Lazy Coder    schedule 05.01.2013    source источник


Ответы (2)


Auto Layout также требует некоторого времени, чтобы привыкнуть. Александр Вачич ответил на этот вопрос в другом посте.

Я предполагаю, что вы создали одну кнопку, затем скопировали строку, а затем скопировали строки вниз. Когда вы делаете это, одним из установленных ограничений автоматического макета является выравнивание базовой линии между кнопками.

Поэтому выберите проблемную кнопку и проверьте, есть ли у вас это ограничение. Если вы это сделаете, выберите его, обновите до пользовательского и удалите. Все волшебным образом работает потом.

Источник: UIButton не отображает текст в iOS6

person wowthatisrandom    schedule 27.06.2013

просто перетаскивание ваших элементов в представление больше не вариант.

Мне пришлось удалить все мои кнопки и выложить их по одной, продвигая все мои ограничения к пользовательским ограничениям по пути.

Я создал первый элемент и увеличил ширину и высоту. затем продвигал подключения к супервизору.

Затем я скопировал эту кнопку (и ее ограничения по ширине и высоте) и соединил ее с кнопкой слева и сверху.

Затем я подключил следующую кнопку, завершив полный ряд.

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

Я потратил довольно много времени, пытаясь избавиться от случайных базовых соединений, таких как кнопка 7 и кнопка 3. Автоматически выбранные ограничения не только полностью неточны и непригодны для использования. от них также трудно избавиться.

Очевидно, что автомакет заставит вас создавать интерфейс с гораздо большей тщательностью. Что не так уж и плохо, но мешает быстрой разработке, так как вы должны быть предельно осторожны, чтобы не позволить разработчику интерфейса накладывать ограничения, которые вам не нужны.

person The Lazy Coder    schedule 05.01.2013