У меня есть UIComponent, который представляет собой простой вид (я сузил проблему). Вот XIB и класс:Как узнать ширину UIComponent во время выполнения?
Тогда я положил этот компонент в представлении в раскадровке, устанавливает свои ограничения:
Так обычно красный прямоугольник имеет различную ширину значение в зависимости от ширины устройства.
В этом случае графически компонент правильно изменяет размеры, но когда я вызываю функцию для печати ее ширины, результат всегда один и тот же, независимо от устройства, запускающего приложение.
Фактически, значение всегда является фактической шириной компонента в раскадровке.
Это настолько странно. Есть ли способ узнать фактическую ширину UIComponent?
Помощь больш была бы оценена :)
Как ограничения сконфигурированных? – Scriptable
@ Эрик. Какое значение оно печатает для 'print (self.frame.width)'? Отображает ли оно какое-либо значение или возвращает ноль? Как именно вы установили значения 'NSLayoutConstraint' для' StatBarView'? Вы установили, что они имеют относительную ширину или равную ей ширину, или же левую и правую стороны ограничены левым и правым краями надзора? – Pierce
StatBarView имеет исправления высоты, центрированные по вертикали, а левая и правая стороны ограничены для просмотра. Значение, напечатанное, представляет собой ширину StatBarView раскадровки, которая не соответствует ширине во время выполнения. Например, если я устанавливаю iPhone SE в раскадровку, ширина составляет 239 пикселей, и это значение используется даже при выполнении на iPhone 7 плюс. – Eric