解决视图转换中的错误(故事板)

Posted

技术标签:

【中文标题】解决视图转换中的错误(故事板)【英文标题】:Solving errors in view transitions (storyboards) 【发布时间】:2013-03-22 21:44:34 【问题描述】:

我正在开发一个适用于 2 个不同视图的应用程序。今天我注意到每次我从视图 1 到视图 2 时,应用程序都会创建一个新视图。 当我返回前一个视图时,它只是创建了一个新的 view1 实例,即它在内存中创建了一个新视图。 (并保留以前的)

我想在每次用户将视图传递给另一个视图时使用相同的视图而不创建新实例(内存中的新视图)。

我只想在我创建的 2 个视图之间进行转换。

注意:我正在使用带有 Storyboard 和 ARC 的 ios 6。过渡是由轻击手势识别器完成的。一旦我点击视图,它就会使用模态转换转到下一个视图。

【问题讨论】:

太抽象了,不能给点建议。请发布您的页面流程/故事板。 【参考方案1】:

当您从视图控制器 1 转到视图控制器 2 作为模态(呈现)视图控制器时,您使用模态转场。这确实会创建视图控制器 2 的新实例。当您返回时,在 iOS 6 中,您必须使用 unwind segue 到第一个视图控制器。这将导致视图控制器 2 不存在,它会使用现有的视图控制器 1,而不是创建新的视图控制器 1。

这是我对 unwind segues 的解释。

http://www.apeth.com/iOSBook/ch19.html#_unwind_segues

(要么这样,要么根本不使用 segue;只需自己调用dismissViewController,就像我们在 iOS 5 中所做的那样,在 unwind segues 存在之前。或者一开始就不要使用故事板;它们确实不是'没有必要。这是我对呈现的 ["modal"] 视图控制器的解释:http://www.apeth.com/iOSBook/ch19.html#_presented_view_controller)

【讨论】:

以上是关于解决视图转换中的错误(故事板)的主要内容,如果未能解决你的问题,请参考以下文章

故事板问题中的 MKMapView 约束

Swift 中的单元测试 | IOS 故事板 |无法转换目标 c 中定义的视图控制器类

在 XCode 4 中的多个故事板之间转换

从一个故事板转到另一个故事板?

重新加载并显示基于主故事板中的视图的表视图

故事板中的自定义 UIView