使用 iPad 时,顶部的 UIToolbar 和界面方向不同步。bug?
寻找对以下行为的确认或更正...
当通过 willAnimateRotationToInterfaceOrientation 方法有问题地更改 UItoolbar 中固定空间 uibarbuttonitem 的宽度时,显示在纵向时落后于显示横向,反之亦然在几次旋转后。就像它一步步不同步一样。
作为独立测试 I:
- 在 iPad 中创建了基于新视图的项目
- 在 IB 设计器中,在视图顶部添加了一个 uitoolbar
以及以下 uibarbutton 项目:
左键|--固定空格--|中键<--灵活空格-->右键
将 UIBarButtonItemFixedSpace 作为 IBOutlet 分配给“|--固定空间--|”将
将以下方法添加到 *.m
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation 持续时间:(NSTimeInterval)duration { if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){ UIBarButtonItemFixedSpace.width = 100; }别的{ UIBarButtonItemFixedSpace.width = 500; } }
即使 if 语句在几次 90 度旋转后在各自的方向上正确触发,显示也会滞后一个 90 度旋转。在模拟器和 iPad iOS 4.3 & 中都可以看到。 Xcode 4
我错过了什么吗?
Looking for confirmation or a correction on the following behaviour...
When problematically changing width of a fixed space uibarbuttonitem in UItoolbar via willAnimateRotationToInterfaceOrientation method, the display lags behind showing landscape when in portrait and vice versa after a few rotations. Like it goes one step out of sync.
As isolated test I:
- Created new view based project in iPad
- In IB designer added a uitoolbar to top of view
and the following uibarbutton items to it:
left button|--Fixed space--|middle button<--flexible space-->right button
Assign UIBarButtonItemFixedSpace as IBOutlet to "|--Fixed space--|" button
Add following method to *.m
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration { if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){ UIBarButtonItemFixedSpace.width = 100; }else{ UIBarButtonItemFixedSpace.width = 500; } }
Even thought the if statement does fire correctly in respective orientation after a few 90 degree rotations, the display lags one 90 degree rotation behind. Seen in both simulator and iPad iOS 4.3 & Xcode 4
Am I missing something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
虽然这看起来确实像一个错误,但我已经不再使用栏按钮,而是使用弹出窗口......换句话说,在 UI 中重新思考和设计。
Although this does look like a bug, I have moved away from bar buttons and gone with popovers instead...in other words a re-think and re-design in the UI.