gpt4 book ai didi

ios - Iphone 开发 :Is there any way to lock orientation in run time?

转载 作者:行者123 更新时间:2023-11-28 18:43:33 24 4
gpt4 key购买 nike

我需要一个可以纵向和横向显示的 View 。但是当我加载另一个 View 时,我只希望它以横向显示。

我有一个 View Controller A。它可以纵向和横向显示。这个 View Controller 是由 App delegate 创建的。

当我单击 View A 上的按钮时,我创建了一个 View Controller B,我只想在横向显示它。然后加载 View ,如 [A.view addSubView:B.view]。

当我旋转设备时,函数 shouldAutorotateToInterfaceOrientation 仅在
controller A,无论我怎么设置controller B中的函数,都无法调用。

最佳答案

在您第一次查看时,请确保

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
return Yes;
}

然后在您的第二个 View 中将其设置为

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

更新:好的,试试这个...
在您的主视图 Controller /应用程序委托(delegate)中,每次设备旋转时都会运行 shouldAutorotateToInterfaceOrientation,放置一个全局级别变量。类似

.h
@interface NavAppDelegate : NSObject <UIApplicationDelegate> {
Bool *isMain;
}

.m
-(void)viewDidLoad {
isMain = Yes;
}
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation {
if (isMain) {
return Yes;
} else {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
}
// This bit is where you'll have to adapt it to how you change your views
// but it's a basic idea.
-(void)bitThatDoesTheViewChange:(viewController *) controller {
isMain = No;

*viewController = controller;

[viewController release];

isMain = Yes;
}

关于ios - Iphone 开发 :Is there any way to lock orientation in run time?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8167967/

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