垂直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

链接地址: http://www.djcxy.com/p/58381.html

上一篇: Vertical UIToolBar and also its UIBarButtonItem

下一篇: resize toolbar in UINavigationController