顶部的UIToolbar和使用iPad..bug的旋转中的interfaceOrientation不同步?

时间:2011-10-18 04:01:13

标签: ios xcode ipad uitoolbar

寻找以下行为的确认或更正......

当通过willAnimateRotationToInterfaceOrientation方法在UI工具栏中有问题地改变固定空间uibarbuttonitem的宽度时,显示器在纵向时显示滞后,而在几次旋转后则反之亦然。就像它走了同步一步。

作为孤立的测试I:

  • 在iPad中创建基于视图的新项目
  • 在IB设计师中添加了一个uitoolbar到视图顶部
  • 以及以下的uibarbutton项目:

    left button|--Fixed space--|middle button<--flexible space-->right button
    
  • 将UIBarButtonItemFixedSpace指定为IBOutlet为“| - 固定空间 - |”按钮

  • 将以下方法添加到* .m

    -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration { 
        if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
            UIBarButtonItemFixedSpace.width = 100;
        }else{
            UIBarButtonItemFixedSpace.width = 500;   
        }
    } 
    

即使认为if语句在几度90度旋转后在各自的方向上正确触发,显示器也会落后一个90度旋转。在模拟器和iPad iOS 4.3&amp; Xcode 4

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

虽然这确实看起来像一个错误,但我已经离开了条形按钮而不再使用popovers ...换句话说,在UI中重新思考和重新设计。