如何检测 iOS 上的 UI 方向是否已锁定?

发布于 2024-11-19 23:21:44 字数 76 浏览 4 评论 0原文

是否可以检测当前 UI 方向是否已锁定?如果是这样,我该怎么做?

当只有 UI 方向未锁定时,我想用重力传感器做一些事情。

Is it possible to detect UI orientation is locked or not currently? If so, how can I do that?

I want to do something with gravity sensor when only UI orientation is not locked.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

慢慢从新开始 2024-11-26 23:21:45

不幸的是,这是不可能的,锁由操作系统处理,并且对应用程序是透明的。

Not possible unfortunately, the lock is handled by the OS and is transparent to the app.

給妳壹絲溫柔 2024-11-26 23:21:45

为什么不尝试调用 shouldAutorotate 方法并查看返回的 BOOL 值是什么?

我还没有尝试寻找 UIOrientation 锁。但我突然想到,这就是我会尝试的方式。

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft])
    NSLog(@"Rotates LandscapeLeft");

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight])
    NSLog(@"Rotates LandscapeRight");

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait])
    NSLog(@"Rotates Portrait");

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortraitUpsideDown])
    NSLog(@"Rotates PortraitUpsideDown");

希望这能解决您的问题。

Why not try calling the shouldAutorotate method and see what BOOL value is returned?

I haven't tried looking for the UIOrientation lock. But off the top of my head, this is how I'd try.

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeLeft])
    NSLog(@"Rotates LandscapeLeft");

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight])
    NSLog(@"Rotates LandscapeRight");

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortrait])
    NSLog(@"Rotates Portrait");

if([self shouldAutorotateToInterfaceOrientation:UIInterfaceOrientationPortraitUpsideDown])
    NSLog(@"Rotates PortraitUpsideDown");

Hopefully this solves your problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文