首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在识别到抖动手势后取消自动旋转?

是否可以在识别到抖动手势后取消自动旋转?
EN

Stack Overflow用户
提问于 2010-06-29 00:14:55
回答 2查看 107关注 0票数 0

有没有人知道是否有可能在识别到摇摆手势后停止自动旋转(即在激进的摇晃过程中不要自动旋转)?

EN

回答 2

Stack Overflow用户

发布于 2010-06-29 00:30:50

自动旋转是通过一些奇怪的低级东西来处理的,这些东西在主要的操作系统版本之间似乎有很大的变化;我真的不会搞乱它。

“取消”也不能真正起作用--用CoreAnimation的话说,动画已经在“模型树”中发生了,而“表示树”和“渲染树”正在追赶。如果你已经保存了旧的方向(即旋转,保存旧的方向和时间,并比较时间),你可以调用[UIDevice currentDevice setOrientation: orientation ],但苹果会拒绝你的应用程序。

如果旋转还没有发生,那么在摇动开始时设置一个标志,并在结束时清除它,然后重写-shouldAutorotateForInterfaceOrientation:如果正在发生摇动,则返回NO。

票数 1
EN

Stack Overflow用户

发布于 2010-06-29 04:56:35

注册您的控制器,通过观察设备方向来检查是否发生了抖动,并在控制器中设置一个标志,以了解当前正在发生抖动(您可以使用日期)。然后,重写shouldAutorotateForInterfaceOrientation方法以检查标志并避免旋转,以防现在发生抖动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3134121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档