4:00 есть вопрос. Представь левый экран. Можно ли задать констрейнты так, чтоб серая область обоих лейблов была ограничена их фактическими размерами НО если правый лейбл будет иметь большой текст, то его серая область никогда не зайдет дальше чем view.trailing?
Серая область, по сути, представляет собой пропорции лейблов. Если ты хочешь чтобы она была такой же как и размер текста, ты можешь не задавать констрейнт, который соединяет вью между собой (метод setConstraints() последняя строка), но тогда лейблы начнут перекрывать друг друга Тогда ты можешь жестко захардкодить значение maxWidth для второго лейбла = (view.width - label1.width) . Но тогда смысл от Compression Resistance и Hugging Priority пропадает. Но это не очень хорошая практика, должны быть резкие причины, чтобы ее применить.
@@MagicSwift суть простая. Хочу чтобы лейбл занимал столько сколько ему нужно. Расширяясь до момента как упрется в trailing констрейнт. Логика появляется когда это не лейбл а допустим вью, и ее границы четко видны потому что она зеленого цвета
@@denok137 а сколько места нужно чтобы занимал вью? Ты либо задаешь ему конкретную ширину, либо динамически расширяешь его с помощью двух свойств из видео. Другого не дано
@@MagicSwift по размеру внутреннего контента. Если лейбл на 100 точек значит 100. Если 300 значит 300. А если 1000 значит 500 (потому что ширина экрана 500 условно)
@@denok137 для решения твоей задачи может подойти свойство lessThanOrEqualTo с константой равной разнице ширины супервью с шириной второй вью. Это позволит оставить незаполненное место по середине, если размер вью меньше размера экрана. developer.apple.com/documentation/uikit/nslayoutdimension/1500943-constraint
Просто супер, не забрасывай канал, плиз.
По-моему у тебя талант объяснять, я лучше ещё не видел
Спасибо!
Спасибо за видосы, темы отличные выбираешь и объясняешь отлично. Жду следующие :)
Великолепный. Спасибо
Спасибо))) четко, ясно и по делу
Просто супер!
4:00 есть вопрос. Представь левый экран. Можно ли задать констрейнты так, чтоб серая область обоих лейблов была ограничена их фактическими размерами НО если правый лейбл будет иметь большой текст, то его серая область никогда не зайдет дальше чем view.trailing?
Серая область, по сути, представляет собой пропорции лейблов. Если ты хочешь чтобы она была такой же как и размер текста, ты можешь не задавать констрейнт, который соединяет вью между собой (метод setConstraints() последняя строка), но тогда лейблы начнут перекрывать друг друга Тогда ты можешь жестко захардкодить значение maxWidth для второго лейбла = (view.width - label1.width) . Но тогда смысл от Compression Resistance и Hugging Priority пропадает.
Но это не очень хорошая практика, должны быть резкие причины, чтобы ее применить.
@@MagicSwift суть простая.
Хочу чтобы лейбл занимал столько сколько ему нужно. Расширяясь до момента как упрется в trailing констрейнт.
Логика появляется когда это не лейбл а допустим вью, и ее границы четко видны потому что она зеленого цвета
@@denok137 а сколько места нужно чтобы занимал вью? Ты либо задаешь ему конкретную ширину, либо динамически расширяешь его с помощью двух свойств из видео. Другого не дано
@@MagicSwift по размеру внутреннего контента. Если лейбл на 100 точек значит 100. Если 300 значит 300. А если 1000 значит 500 (потому что ширина экрана 500 условно)
@@denok137 для решения твоей задачи может подойти свойство lessThanOrEqualTo с константой равной разнице ширины супервью с шириной второй вью. Это позволит оставить незаполненное место по середине, если размер вью меньше размера экрана.
developer.apple.com/documentation/uikit/nslayoutdimension/1500943-constraint