UITabBarController, MoreNavigationController and the Holy Grail of Device Rotation

后端 未结 3 645
春和景丽
春和景丽 2020-12-28 11:03

UPDATE: See my answer to this question first. This appears to be a bug. A minimal test case has been created and a report has been filed with Apple. (Fixed as of iPh

3条回答
  •  难免孤独
    2020-12-28 11:16

    It appears we have a bug. I have created a reproducible, minimal test case, and reported it via Apple Bug Reporter (RADAR Problem 7139857).

    Update: This has been fixed as of iPhone OS 3.1.

    The essential problem is:

    View controllers already on a Navigation Controller stack do not receive willAnimateRotationToInterfaceOrientation:duration: messages when a Tab Bar Controller's 'More Navigation Controller' is in use.

    This problem does not occur when the tab bar item view controllers are basic view controllers. Only when they are navigation controllers and only when the "More" navigation hierarchy is in use.

    The console message (regarding two-stage rotation animation) suggests that something within the framework (the More Navigation Controller?) is still using a two-stage animation, even though single stage is now recommended as of iPhone OS 3.0.

    That could explain why willAnimateRotationToInterfaceOrientation: is not called in that particular case. Per Apple's view controler documentation, this message will NOT be invoked when two-stage, first/second-half orientation messages are being responded to instead.

提交回复
热议问题