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.

Я думаю, нам придется подождать

Другие вопросы по тегам