首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HUD旋转弹出

HUD旋转弹出
EN

Stack Overflow用户
提问于 2014-09-25 15:26:51
回答 1查看 77关注 0票数 0

因此,我们正在使用第三方HUD模块。它有点不稳定,为了让它弹出所有的内容,我扩展了它,以便使用代码来显示自己。

[[UIApplication sharedApplication keyWindow] addSubview:self.view];

但是,在横向模式或倒置模式下,弹出窗口会出现旋转(或者更准确地说,不旋转,始终与设备对齐,而不是界面)。我在iOS是个新手,所以我不知道为什么,但我添加了一些代码来弥补

代码语言:javascript
复制
    bool go = false;
    float angle = 0.0;

    if (mode == OLM_LandscapeLeft)  // I calculate this further above, it works
    {
        go = true;
        angle = 90;
    }

    [[[UIApplication sharedApplication] keyWindow] addSubview:self.view];

    if (go)
    {
        float rads = (angle) / 180 * M_PI;
        CGAffineTransform transform = CGAffineTransformRotate(CGAffineTransformIdentity, rads);
        self.view.transform = transform;    
    }

无论我是在keyWindow.addSubview之前还是之后应用转换,这似乎都没有任何效果。

有没有一种正确的,或者至少是有效的方法来做到这一点?如果有人能教我为什么这类addSubView似乎忽略了接口方向,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2014-09-25 16:04:37

也许您正在使用UIDeviceOrientation,但应该使用UIInterfaceOrientation。

您可以通过以下方式接收此信息:

代码语言:javascript
复制
[[UIApplication sharedApplication] statusBarOrientation]

马基罗斯人:

代码语言:javascript
复制
UIInterfaceOrientationIsLandscape
UIInterfaceOrientationIsPortrait

这样你就不用用:

代码语言:javascript
复制
OLM_LandscapeLeft // might have a computation bug
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26042353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档