2015-10-15 3 views
0

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

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

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

Итак, в моей голове TextView должен быть центрирован по оси x и 40 под кнопкой. Снова ничего не было видно.

Теперь вернемся к высоте и ширине. Только при добавлении этих двух ограничений мой TextView теперь находится в центре правильно.

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

Вопрос 2 Какие последствия для реализации всех ограничений, которые Xcode предлагает вам сделать. С некоторыми из моих работ я добавил некоторые ограничения, которые кажутся отображаемыми правильно, но Xcode все равно понравится больше. Например, для textBox, если я помещаю ограничение по горизонтали в Xcode все еще хочет и положение x или ограничение ширины, хотя этот размер TextBox отлично подходит как для iPhone, так и для iPad.

ответ

1

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

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

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

Обычно катастрофа. Если у вас недостаточно ограничений, у вас есть двусмысленные ограничения. Вы могли бы получить результат, на который вы надеялись, но вы можете этого не сделать. Если повезет, вы ничего не увидите. Это не стоит риска. В общем, верьте Xcode. Он знает больше, чем вы.

+0

Спасибо Matt, для вопроса2 я понимаю, что, похоже, с помощью неправильных винтов, чтобы держать тяжелый предмет на стене, он может держаться, возможно, я не получу его. Но для первого момента я все еще смущен тем, почему textView не будет сосредоточен на основе ограничений, которые я впервые дал. я бы подумал, что он будет свободно находиться в правильном положении, но даже не на экране. – Rob85

+0

Либо у вас есть все необходимые ограничения, либо у вас может не быть ни одного из них. «Даже не на экране» _good_ - это ваша подсказка, что все не так. Гораздо хуже, когда на экране появляется _is_, если ваши ограничения неверны, потому что тогда у вас нет подсказки, что у вас есть проблема. Вот почему я сказал «бедствие». – matt

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