垂直UIToolBar和它的UIBarButtonItem
在我的应用程序中,我有一个UIToolBar。 在纵向模式下时,此工具栏位于顶部并且是水平的,但是当设备旋转时,应将此工具栏转换为垂直工具栏,并应放置在左侧。 它的子视图也就是5 UIBarButtonItems也应该被放置。
有没有人知道这个解决方案?
我已阅读此供参考,但我的工具栏应根据方向自行对齐。 我正在使用iOS 6。
没有内置的垂直菜单功能(还)。 你的问题有两个部分:
垂直UIToolbar :
您可能会限制设备方向,并且工具栏将保留在相同的位置
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskPortrait;
}
(这会影响所有视图)
或者,您可以侦听方向更改并使用其transform属性相应地旋转工具栏,例如
toolbar.transform = CGAffineTransformRotate(CGAffineTransformIdentity, M_PI/2);
旋转的UIBarButtonItem :
如果您旋转了工具栏(上面的情况2),项目也会旋转。 如果没有,你需要旋转你的物品。 几个帖子展示了如何处理UIBarButtonItem没有扩展UIView的事实,它没有transform属性(参见这里)。 最后,您将再次听取方向更改并旋转工具栏的子视图,例如
for (UIView *view in toolbar.subviews) {
view.transform = CGAffineTransformRotate(CGAffineTransformIdentity, M_PI/2);
}
当然,应用与您的方向相关的旋转(M_PI / 2或-M_PI / 2)。
我遇到了同样的问题,所以我将UIToolbar
并将其变为我想要的。 以下是GitHub链接:https://github.com/fennelouski/NKFToolbar