Live View не вращается самостоятельно в Интерфейсном Разработчике
Я применял Live Views к моему проекту, который строит большую часть его пользовательского интерфейса, нарисованного с помощью beziers, и до сих пор было не чем иным, как волшебством, наконец, увидеть, как приложение оживает в Интерфейсном Разработчике после работы, пока он не видит ничего, кроме черного экрана. Все время.
Есть часть, где я рисую линию рукой, указывающей на начало. После добавления всех элементов я поворачиваю вид на смещение и поворачиваю руку с тем же количеством в другом направлении, чтобы он оставался прямым. Это всегда хорошо работало при запуске приложения, поэтому этот код работает.
Когда я добавил IB_DESIGNABLE, я заметил, что рука отсутствует, но я мог исправить это с помощью трюка с пакетом. Рука вращается с правильной суммой. Но самого взгляда нет.
Это соответствующий код:
- (void)drawRect:(CGRect)rect
{
// ....lots of drawing code.....
float totalRotationRadians = M_PI * 2 * -.12;
self.transform = CGAffineTransformMakeRotation(totalRotationRadians);
self.hand.transform = CGAffineTransformMakeRotation(-totalRotationRadians);
}
Вот как это выглядит в Интерфейсном Разработчике:
Вот как это выглядит, когда я запускаю его:
Есть некоторые небольшие различия, потому что некоторые вещи масштабируются в зависимости от размера представления, в котором он находится, но именно так он и должен работать. Только отсутствие вращения действительно выключено.
1 ответ
Я сталкиваюсь с различными комментариями в Интернете о людях, которые не могут вращаться, а также с сообщением в блоге, которое я больше не могу найти. Все они говорят, что ротация CALayer не работает так, как сейчас в Live Views.
Я думаю, нам придется подождать