ios – 在tabViewController setSelectedIndex之后,旋转不为视图
状态栏(具有时钟和电池图标)的旋转动画发生,但视图本身只是改变大小,它不执行页面翻转动画.在gif(下面)中,我做了几个慢动作旋转动画的屏幕截图.您可以看到时钟和电池图标旋转到视图中,即使内容只是缩放.
http://imgur.com/gallery/Q3OXCIH 我发现了一些相似但不完全相同的帖子: iOS 9 Orientation Auto-Rotation Animation Not Working,But Always on Main Thread 这有点可重复 – 首先,旋转正确,但在我以编程方式更改选项卡视图控制器索引后,它可以触发.触发后,在重置应用程序之前,视图不会发生旋转动画. 代码,我更改选项卡视图控制器,然后将其更改回来: [appDelegate.tabBarController setSelectedIndex:0]; ...code to operate on the code at index 0... [appDelegate.tabBarController setSelectedIndex:2]; 为了强调 – 当我第一次运行应用程序时,它会正确地为旋转设置动画.在模拟器和硬件中表现相同. IOS9. Xcode 7.1.1. 任何人都知道为什么viewcontroller的内容会在旋转期间停止动画? 编辑- 回答fragilecat的问题: 1)我被设置为使用旋转功能,如https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/clm/UIViewController/attemptRotationToDeviceOrientation所述 我已经实现了shouldAutorotateToInterfaceOrientation和shouldAutorotate和supportedInterfaceOrientations.当viewcontroller加载时,supportedInterfaceOrientations被调用一次. shouldAutorotateToInterfaceOrientation和shouldAutorotate显然从未被调用过. 2)我通过viewWillTransitionToSize接收大小更改消息 – 这是ios9所以没有任何轮换消息. willTransitionToTraitCollection显然从未被调用,但它被覆盖.我两个都叫超级. 3)我没有使用viewWillLayoutSubviews()或viewDidLayoutSubviews().我只是重写viewDidLoad和viewWillAppear.这些不会影响旋转. 4)我没有动态改变旋转方法. 我注意到的是旋转首先工作,然后失败(不旋转但只是缩放),在用户点击“确定”后以编程方式更改tabBarViewController selectedViewController到alertview.我还没弄清楚为什么会这样,但在那次活动之后它是重复的. 错误的顺序: >工作正常,旋转确定. 解决方法
任何人都知道为什么viewcontroller的内容会在旋转期间停止动画?
>子视图控制器的旋转方法配置不正确. 我正在寻找有关哪种错误可以产生此类错误的方向. 这是看到你的代码很难回答的问题,但这里是我在解决这个问题时会采取的步骤. >确认您的子视图控制器已正确设置以进行旋转. UIViewController Rotation Methods >确认您的子视图控制器正在接收以下消息,以便您可以排除此问题,因为这是在iOS 9中处理轮换的方式. func willTransitionToTraitCollection(_ newCollection:UITraitCollection, func viewWillTransitionToSize(_ size:CGSize, 如果您要覆盖这些方法,请确保调用超级版本,有关详细信息,请参阅UIContentContainer. >注释掉 编辑 您需要在主线程上执行选项卡更改.如果我是正确的你正在使用UIAlertView的代表?我不认为你在主线上打电话给你! dispatch_async(dispatch_get_main_queue(),^{ [appDelegate.tabBarController setSelectedIndex:0]; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |