Ios 作为视图的子视图的视图不能旋转

Ios 作为视图的子视图的视图不能旋转,ios,swift,uiviewanimation,uistackview,subviews,Ios,Swift,Uiviewanimation,Uistackview,Subviews,我有一个视图,其中有一个子视图叫做a。我想旋转视图a。但是什么都没发生。我可以旋转A的图层,没问题。那么如何制作UIStackView子视图的动画呢?一旦将“排列的子视图”添加到堆栈视图中,其框架将由堆栈视图隐式添加的约束自动管理。虽然您可以假设添加可以设置动画的其他约束,但没有一组约束允许您完成旋转 一种解决方案是在堆栈管理的视图中嵌套另一个视图。然后可以覆盖外部视图中的layoutSubviews,以退出内部视图的自动布局,从而可以管理其旋转。对内部视图帧进行的任何更新都可以放置在动画块中

我有一个视图,其中有一个子视图叫做a。我想旋转视图a。但是什么都没发生。我可以旋转A的图层,没问题。那么如何制作UIStackView子视图的动画呢?

一旦将“排列的子视图”添加到堆栈视图中,其框架将由堆栈视图隐式添加的约束自动管理。虽然您可以假设添加可以设置动画的其他约束,但没有一组约束允许您完成旋转

一种解决方案是在堆栈管理的视图中嵌套另一个视图。然后可以覆盖外部视图中的
layoutSubviews
,以退出内部视图的自动布局,从而可以管理其旋转。对内部视图帧进行的任何更新都可以放置在动画块中

编辑:

根据的
transform
属性文档,“在iOS 8.0及更高版本中,transform属性不影响自动布局。自动布局根据未转换的框架计算视图的对齐矩形。”这似乎意味着即使在存在自动布局约束的情况下,旋转也应该起作用。也就是说,我的猜测是,转换视图实际上只是转换底层的一种方便。

一旦将“排列的子视图”添加到堆栈视图中,其框架将由堆栈视图隐式添加的约束自动管理。虽然您可以假设添加可以设置动画的其他约束,但没有一组约束允许您完成旋转

一种解决方案是在堆栈管理的视图中嵌套另一个视图。然后可以覆盖外部视图中的
layoutSubviews
,以退出内部视图的自动布局,从而可以管理其旋转。对内部视图帧进行的任何更新都可以放置在动画块中

编辑:


根据的
transform
属性文档,“在iOS 8.0及更高版本中,transform属性不影响自动布局。自动布局根据未转换的框架计算视图的对齐矩形。”这似乎意味着即使在存在自动布局约束的情况下,旋转也应该起作用。也就是说,我的猜测是,变换视图实际上只是变换底层的一种方便。

那么,您成功地旋转了层,现在的问题是如何设置旋转动画?你能发布你如何旋转的代码吗?不,我想旋转视图而不是层,尽管旋转层有相同的效果。显示你尝试过的代码。那么,你成功地旋转了层,现在你的问题是如何设置旋转动画?你可以发布你如何旋转的代码吗?不,我想旋转视图而不是层,虽然旋转层有相同的效果。显示你尝试过的代码。我想说,根本没有旋转视图框架的选项。在堆栈视图内部、堆栈视图外部、任何视图层次结构外部。我认为根本没有旋转视图框架的选项。在堆栈视图内部、堆栈视图外部、任何视图层次外部。