gpt4 book ai didi

ios - 方向横向 -> 纵向不起作用

转载 作者:行者123 更新时间:2023-11-29 04:55:40 24 4
gpt4 key购买 nike

我还有另一个定向问题。但这是非常棘手的。我的 RootViewController 是一个普通的 NavigationController。

self.window.rootViewController = _naviController;

里面有另一个ViewController,我们称之为VC1。VC1有一些按钮和标签。它就像文件夹的概述。

如果我按下一个按钮,我会进入下一个 ViewController,其中包含 3 个 ViewController(页面)和另一组按钮(就像在文件夹中查看其中的图片/缩略图):

Archiv *archiv = [[Archiv alloc] init];
[self.navigationController pushViewController:archiv animated:YES];
[archiv release];

在加载 View 中:

firstPage = [[Page alloc] initViewWithFrame:CGRectMake(0, 0, 768, 960)];
[firstPage setRootViewController:self];
secondPage = [[Page alloc] initViewWithFrame:CGRectMake(0, -960, 768, 960)];
[secondPage setRootViewController:self];
thirdPage = [[Page alloc] initViewWithFrame:CGRectMake(0, 960, 768, 960)];
[thirdPage setRootViewController:self];

如果我现在再次单击按钮,事件页面将推送我的第三个 ViewController(图像大小调整、拖动...):

Picture *pic = [[Picture alloc] initWithPicURLString:urlString];
[rootViewController.navigationController pushViewController:pic animated:YES];
[pic release];

使用 NavigationController 的后退按钮,我始终可以返回到上一个 View 。

更多信息:

  • 每个 ViewController 都支持所有方向
  • 每个 ViewController 都实现 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientationreturn YES;
  • 每个 ViewControler 都会调用 [super init]在他们的初始化方法中
  • 我已经读过 Apple's Q&A: Why won't my UIViewController rotate with the device

现在是棘手的问题:

如果我从第二个 VC 切换到第三个 VC,将方向从纵向更改为横向,然后按后退按钮,一切都在工作( shouldAutorotateToInterfaceOrientation 正在调用,框架尺寸和起源发生变化...)。但是如果我反过来做,我会处于横向模式,从第二个 VC 切换到第三个 VC,旋转到纵向,然后回到带有 BackButton 的第二个 VC,状态栏和 Controller 栏位于顶部,但 shouldAutorotateToInterfaceOrientation 没有被调用

请帮帮我。 $h@rky

最佳答案

试试这个,它对我有用:

-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self shouldAutorotateToInterfaceOrientation:[[UIApplication sharedApplication] statusBarOrientation] ];
}

关于ios - 方向横向 -> 纵向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8035698/

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