gpt4 book ai didi

iphone - 应用程序不改变方向

转载 作者:行者123 更新时间:2023-12-03 20:28:57 25 4
gpt4 key购买 nike

我有一个带有选项卡栏的应用程序,我想在其中检测界面方向。

我已经在 info.plist 中设置了支持的方向。这是我的主界面声明:

@interface MyAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate> {
...
}

这是在 MyAppDelegate 的实现中:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
return NO;
if (interfaceOrientation == UIInterfaceOrientationLandscapeRight)
return YES;
if (interfaceOrientation == UIInterfaceOrientationPortrait)
return YES;
if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
return NO;
}

在我试图检测方向变化的必要 View 中,我调用这些方法:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;

我已经在这些方法中设置了 NSLog 打印,但它们都没有注册任何更改。即使在 shouldAutorotateToInterfaceOrientation 方法中也不行。

有人可以帮我吗?我做错了什么?任何帮助将不胜感激。

最佳答案

shouldAutorotateToInterfaceOrientation: 是您必须在 View Controller 中实现的方法,而不是在应用程序委托(delegate)中实现的方法。要使标签栏应用旋转,标签栏 Controller 的所有子 Controller 都必须针对请求的界面方向返回 YES

同样,willRotateToInterfaceOrientation:didRotateFromInterfaceOrientation: 将在 View Controller 中实现,而不是在 View 中实现> 正如你所说的那样。

关于iphone - 应用程序不改变方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4995594/

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