2016-09-11 2 views
1

У меня есть UIStackView, в нем есть подвид под названием A. Я хочу повернуть вид А. Но ничего не произошло. Я могу повернуть слой А, все в порядке. Итак, как сделать анимацию subviews UIStackView?Просмотр в виде подсмотра UIStackView нельзя поворачивать

+0

Итак, вы успешно вращаете слой, и ваш вопрос заключается в том, как оживить вращение? Можете ли вы опубликовать код для того, как вы делаете поворот? – 4bar

+0

Нет, я хочу повернуть вид не на слой, хотя поворот слоя имеет тот же эффект. – leizh00701

+0

Показать код, который вы пробовали. –

ответ

0

После того, как вы добавили «упорядоченное подчинение» в представление стека, его кадр автоматически управляется ограничениями, неявными по представлению стека. Хотя вы могли гипотетически добавить дополнительные ограничения, которые могли бы быть анимированы, нет никаких ограничений, которые позволили бы вам выполнить поворот.

Одним из решений было бы вставить другое представление внутри того, которым управляет стек. Затем вы можете переопределить layoutSubviews во внешнем виде, чтобы отказаться от автоматического макета для внутреннего вида, чтобы вы могли управлять его вращением. Независимо от того, какие обновления вы внесете в рамку внутреннего представления, можно поместить их внутри блока анимации.

EDIT:.

Согласно документации для transform имущества UIView, «В прошивкой 8.0 и более поздних, то свойство не влияет на Auto Layout преобразования Автокомпоновка вычисляет выравнивание прямоугольник представлен вид, основанный на его нетрансформированный Рамка." Это означает, что ротация должна работать даже при наличии ограничений автоматической компоновки. Тем не менее, я предполагаю, что преобразование представления на самом деле просто удобство преобразования базового слоя.

+0

Я бы сказал, что нет возможности полностью поворачивать рамку представления. Внутри представления стека, вне представления стека, вне любой иерархии представлений. –