gpt4 book ai didi

objective-c - UIDeviceOrientationDidChangeNotification 只触发一次

转载 作者:行者123 更新时间:2023-11-28 17:55:47 27 4
gpt4 key购买 nike

我正在尝试为我的一个 View 处理 View Controller 上的设备方向更改。这是我的代码:

- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad");
// Tell the UIDevice to send notifications when the orientation changes
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
}

// tell the director that the orientation has changed
- (void) orientationChanged:(NSNotification *)notification
{
NSLog(@"orientationChanged");
}

当我第一次启动该应用程序时,会调用 orientationChanged 选择器,但此后无论我将 iPad 旋转多少度都不会再次调用它。有谁知道我可能做错了什么?当我在应用程序委托(delegate)中放置类似的代码时,它工作正常,但在这个特定的 View Controller 中,它的行为不正常。

最佳答案

我知道这个问题有点老了,但我只是想添加一个链接,指向我在与你相同的情况下找到的教程(想要获得设备旋转的通知,无论界面方向如何是)。

This tutorial简要概述了如何使用 UIDeviceOrientationDidChangeNotification 处理设备旋转。

我还遇到了 UIDeviceOrientationDidChangeNotification 未触发的问题(它在模拟器中运行良好,但在我的设备上却不行)。经过一些调试后,我意识到我在设备上锁定了纵向方向,这导致 UIDeviceOrientationDidChangeNotification 不触发。不确定这是否是您的问题,但这是一个很容易被忽视且值得检查的问题。

关于objective-c - UIDeviceOrientationDidChangeNotification 只触发一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5694881/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com