【问题标题】:Storyboard transition without any touch(i.e IBOutlet)没有任何接触的故事板过渡(即 IBOutlet)
【发布时间】:2012-07-26 06:51:40
【问题描述】:

我正在使用情节提要,其中我有三个视图控制器。我想从第一个视图控制器进入第二个视图控制器,没有任何触摸(所以我使用了计时器。) 我在 timers 方法中添加了以下代码:

[self presentModalViewController:anyViewControllerRef 动画:YES]; 或者 [[self navigationController] pushViewController:anyViewControllerRef 动画:YES];

但是在计时器间隔后我两次都出现空白屏幕(即使我得到了完美的日志,这意味着我在第二个 ViewControllers 类中添加的日志但没有正确的视觉效果)

我应该在 timers 方法中添加什么来执行场景转换?(以便能够看到我在下一个 ViewController 上添加的任何内容)

【问题讨论】:

  • 得到了解决方案。需要将标识符添加到下一个视图控制器和计时器方法中的以下代码:anyViewControllerRef = [self.storyboard instantiateViewControllerWithIdentifier:@"identifierName"]; //必须的行,否则你会黑屏 [[self navigationController] pushViewController:anyViewControllerRef animated:YES];

标签: iphone storyboard


【解决方案1】:

仅供您自己参考,这对您不起作用的原因是因为您正在“创建”您拥有的任何类型的视图控制器并显示这个“新创建的”控制器,当然这个没有任何视觉效果这是因为 interfacebuilder 控制器没有链接到这个。

您的解决方案意味着您不是创建 anyViewControllerRef 的实例,而是要求情节提要为您提供它所拥有的实例(带有您添加的视觉元素的实例)。

顺便说一句,几乎 90% 的时间你想在 ios 下为 iphone 呈现模态视图控制器,如果我没记错的话,push 仅用于 ipad 或 navigationviewcontroller。

【讨论】:

    【解决方案2】:

    需要在定时器方法中添加标识符到下一个视图控制器和以下代码:

    anyViewControllerRef = [self.storyboard instantiateViewControllerWithIdentifier:@"identifierName"];

    [[self navigationController] pushViewController:anyViewControllerRef 动画:YES]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-24
      • 2012-09-01
      • 2014-10-25
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      相关资源
      最近更新 更多