【问题标题】:Vertical UIToolBar and also its UIBarButtonItem垂直 UIToolBar 及其 UIBarButtonItem
【发布时间】:2012-11-22 12:27:46
【问题描述】:

在我的应用程序中,我有一个 UIToolBar。在纵向模式下,此工具栏位于顶部且水平,但当设备旋转时,此工具栏应转换为垂直工具栏并应放置在左侧。此外,它的子视图,即 5 个 UIBarButtonItems 也应相应放置。

有人知道解决办法吗?

我已阅读this 以供参考,但我的工具栏应根据方向自行对齐。我正在使用 iOS 6。

【问题讨论】:

    标签: objective-c ios ipad cocoa-touch uitoolbar


    【解决方案1】:

    没有内置的垂直菜单功能(目前)。您的问题分为两部分:

    垂直UIToolbar

    您可以限制设备方向,工具栏将保持在同一位置

    - (NSUInteger)supportedInterfaceOrientations {
        return UIInterfaceOrientationMaskPortrait;
    }
    

    (这将影响所有视图)

    或者你可以监听方向变化并使用它的 transform 属性相应地旋转你的工具栏,例如

    toolbar.transform = CGAffineTransformRotate(CGAffineTransformIdentity, M_PI/2);
    

    旋转的UIBarButtonItem

    如果您旋转了工具栏(上面的案例 2),项目也会旋转。 如果没有,您需要轮换您的物品。几篇文章展示了如何处理 UIBarButtonItem 没有扩展 UIView 的事实,它没有转换属性 (see here)。最后,您将不得不再次监听方向变化并旋转工具栏的子视图,例如

    for (UIView *view in toolbar.subviews) {
        view.transform = CGAffineTransformRotate(CGAffineTransformIdentity, M_PI/2);
    }
    

    当然应用与您的方向相关的旋转(M_PI/2 或 -M_PI/2)。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,所以我将UIToolbar 子类化,并将其变成了我想要的样子。 这是 GitHub 链接:https://github.com/fennelouski/NKFToolbar

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-19
        • 2014-05-11
        • 2023-03-06
        • 2012-06-05
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多