繁体   English   中英

垂直UIToolBar及其UIBarButtonItem

[英]Vertical UIToolBar and also its 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM