没有任何接触的故事板过渡(即 IBOutlet)
Posted
技术标签:
【中文标题】没有任何接触的故事板过渡(即 IBOutlet)【英文标题】:Storyboard transition without any touch(i.e 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]; 【参考方案1】:仅供您自己参考,这对您不起作用的原因是因为您正在“创建”您拥有的任何类型的视图控制器并显示这个“新创建的”控制器,当然这个没有任何视觉效果这是因为 interfacebuilder 控制器没有链接到这个。
您的解决方案意味着您不是创建 anyViewControllerRef 的实例,而是要求情节提要为您提供它所拥有的实例(带有您添加的视觉元素的实例)。
顺便说一句,几乎 90% 的时间你想在 ios 下为 iphone 呈现模态视图控制器,如果我没记错的话,push 仅用于 ipad 或 navigationviewcontroller。
【讨论】:
【参考方案2】:需要在定时器方法中添加标识符到下一个视图控制器和以下代码:
anyViewControllerRef = [self.storyboard instantiateViewControllerWithIdentifier:@"identifierName"];
[[self navigationController] pushViewController:anyViewControllerRef 动画:YES]
【讨论】:
以上是关于没有任何接触的故事板过渡(即 IBOutlet)的主要内容,如果未能解决你的问题,请参考以下文章