Я знаю, как установить ограничения, но мне действительно нужно знать, как правильно их установить.
По сути, у меня есть пользовательское представление подкласса UIView, в котором мне нужно указать ограничения, например, чтобы метка всегда была на 10 пунктов выше кнопки.
Подобные ограничения, где я могу их установить? Прямо сейчас я устанавливаю ограничения в функции init
, где я вызываю layoutIfNeeded
после указания ограничений. Но я также читал, что вы должны установить ограничения в layoutSubviews
, но потом я снова где-то читал, что layoutSubviews будет вызываться много раз, поэтому не имеет смысла устанавливать там ограничения.
Также я немного поигрался с макетами-представлениями, я понял, что ограничения, которые я установил в макетах-представлениях, на самом деле вообще не влияют на макет. До сих пор я только успешно устанавливал ограничения с помощью вызова layoutIfNeeded напрямую.
Также мне любопытно, нужно ли мне устанавливать ограничения только один раз или каждый раз, когда что-то обновляется?
Я правильно делаю? Где я должен установить ограничения в моем пользовательском классе?