为 UIResponder 添加两个监听器

发布于 2025-01-06 20:45:44 字数 122 浏览 0 评论 0原文

我在 UIWindow 中添加了两个视图控制器作为子视图。现在的问题是,其中一个视图获得视图旋转调用,但第二个是没有获得视图更改方向的调用。 现在我的问题是我们如何获得 UIWindow 中添加的两个不同视图控制器的更改方向调用。

I have two view Controllers added as a sub-view in the UIWindow. Now the problem is one of the view gets view rotation calls but second is not getting calls for view changing orientation.
Now my problem is how we can get change orientation call for two different view controllers added in UIWindow.

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

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

发布评论

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

评论(2

不必你懂 2025-01-13 20:45:44

UIWindow 仅向其 rootViewController 发送旋转消息。如果您希望其他视图控制器接收它们,您有两个选择:

  1. 编写代码以使您的 rootViewController 将旋转消息发送到其他视图控制器。
  2. 实施视图控制器遏制。观看 WWDC 2011 中的实现 UIViewController Containment 视频来了解如何做到这一点。

UIWindow only sends rotation messages to its rootViewController. If you want the other view controller to receive them, you have two options:

  1. Write code to make your rootViewController send the rotation messages to the other view controller.
  2. Implement view controller containment. Watch the Implementing UIViewController Containment video from WWDC 2011 to learn how to do this.
羅雙樹 2025-01-13 20:45:44

注册设备方向。

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(detectOrientation) name:@"UIDeviceOrientationDidChangeNotification" object:nil];

检查方法,

 if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) || 
        ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {


}

Register for device orientation.

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(detectOrientation) name:@"UIDeviceOrientationDidChangeNotification" object:nil];

check in the method ,

 if (([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeLeft) || 
        ([[UIDevice currentDevice] orientation] == UIDeviceOrientationLandscapeRight)) {


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