【问题标题】:UIViewController is dismissing automaticallyUIViewController 自动关闭
【发布时间】:2013-05-07 21:38:04
【问题描述】:

我的 ViewController 有问题。

在层次结构中我有 3 个 ViewController:

  • 登录
  • 网格
  • 简介

从Login到Grid,没有问题。但是当我尝试从 Grid 转到 Profiel 时,Grid 被关闭,我正在使用:

ProfileViewController *perfil = [[ProfileViewController alloc] initWithNibName:nil bundle:nil];

[self presentViewController:perfil animated:YES completion:nil];

来自表格,但我也尝试通过按钮操作。

我创建了其他视图控制器(testviewcontroller)并尝试呈现它和同样的问题。

呈现视图,当我将动画设置为“YES”时,呈现视图,但仅当它完成时父级被关闭。

澄清一下:

无论我做什么,从网格控制器,当配置文件(或测试)控制器出现时,网格都会自动关闭。

我从来没有见过这样的事情。

谁能帮帮我?

新信息:

我创建了一个新的控制器,而不是从登录到网格,我试图从登录到新的控制器,同样的问题发生了。

新信息(更奇怪):

我有这 2 个调用来展示一个控制器:

- (IBAction)ingresar:(id)sender
{
    aViewController *grilla = [[aViewController alloc] initWithNibName:nil bundle:nil];
    grilla.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentViewController:grilla animated:YES completion:nil];
}

- (IBAction)registro:(id)sender
{
    RegistroViewController *registro = [[RegistroViewController alloc] initWithNibName:nil bundle:nil];
    registro.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentViewController:registro animated:YES completion:nil];
}

第一个有魔法消失的问题,第二个没有...

【问题讨论】:

  • 发布您的 ProfileViewController 的 -viewDidLoad 方法。
  • 只是 - (void)viewDidLoad { [super viewDidLoad]; // 在从 nib 加载视图后做任何额外的设置。 }
  • 嗯,你在叫 -dismissViewController...animated.. 任何地方吗?
  • 不,我手动进行三次检查并在工作区中搜索两次。
  • 你还有其他的控制器吗,还是只有这 3 个?从登录到 Grid 时,您使用的代码是否与您显示的相同?

标签: ios objective-c uiviewcontroller


【解决方案1】:

好的,

我不知道为什么,但是在尝试了几乎所有方法(包括重新安装 Xcode)之后,问题是在控制器中,我在里面展示了其他控制器

viewDidAppear

我以前用过很多次,从来没有发生过这种情况,我只能相信这是因果报应说“那是一种不好的做法,b**ch”

【讨论】:

  • 这不是给你警告,比如“尝试呈现......谁的视图不在窗口层次结构中!”?
猜你喜欢
  • 2016-09-15
  • 1970-01-01
  • 2019-06-16
  • 2011-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多