Я пытаюсь изменить размер и поворот представления прогресса, чтобы принять размер экрана. В основном это будет иметь эффект заполнения стекла на экране телефона.
Я повернул его довольно безобидно, используя self.masteryProgress.transform = CGAffineTransformMakeRotation((CGFloat(-90) / CGFloat(180.0) * CGFloat(M_PI)))
Я получил размер представления, окружающего экран, используя view.bounds
, пытаясь получить прямоугольник и высоту x. Поэтому я не застрял там.
Я пробовал использовать .frame
.drawRect
, но когда я их использую, он либо разбивает их, либо ничего не делает.
Атрибут height, по-видимому, заблокирован с постоянным значением 2 в интерфейсеBuilder.
Какие-либо решения до создания пользовательской анимации?
Я попытался установить высоту индикатора выполнения в интерфейсе, как и некоторые другие сообщения, но мне нужно, чтобы представление прогресса заполняло весь экран независимо от того, какое устройство оно работает, так что решение не будет работать в моем случае.
В итоге я использовал
CGAffineTransformScale(masteryProgress.transform, view.bounds.height / 1334, (view.bounds.width / 2))
Поскольку я вращаю progressView вертикально, я устанавливаю представление прогресса на ширину 1334 (высота iPhone 6 Plus) и высоту 2. Деля высоту экрана по этим значениям она должна изменяться на любой телефон.