繁体   English   中英

我应该为iOS文字冒险应用程序使用哪种类型的segue?

[英]What type of segue should I be using for iOS text adventure app?

因此,我目前正在构建我的第一批应用程序,只是一些简单的文本冒险练习。 基本前提是我希望能够向用户解释冒险经历,介绍故事,并在每个可滚动页面的末尾为他们提供有关如何发展故事的选项,每个故事都会导致不同的场景。

我意识到我将需要使用许多不同的视图和序列进行分支,并且在场景之间进行转换时我目前正在使用当前的模态序列,但是我担心这样做最终会导致内存问题? 根据我过去的理解,以模态呈现下一页只是将其置于所有其他视图之上,是否正确?

本质上,我只是在尝试寻找最佳的过渡选项,因为我仍在学习基础知识,因此是最有效的。 最终,我还将把数据隔离到下一个视图,因此在冒险结束时,我可以根据用户的选择向用户显示其特征值。 有什么想法吗?

PS:我认为到目前为止,我之所以选择以模态形式呈现,是因为它具有我发现的最好的过渡效果,使我想起了一本书(找不到页面翻转过渡)

为了避免内存问题,可以使用UIViewController-transitionFromViewController:toViewController:duration:options:animations:completion:方法来交换控制器,而不是使用故事板segue。 您将在基本视图控制器中调用此方法,该视图控制器显示您的可见视图控制器,类似于UINavigationController如何处理此方法。

另外,如果您想要看起来像书的东西,请考虑使用UIPageViewController

这取决于您在哪里展示模态。 如果要从一个主视图控制器中显示它,那么将取消先前的模态。

如果要使用其他方法,例如导航控制器下推,它将连续建立视图层次结构,并导致大量的内存占用,前提是用户需要深入探索冒险。

PS:我认为到目前为止,我之所以选择以模态形式呈现,是因为它具有我发现的最好的过渡效果,使我想起了一本书(找不到页面翻转过渡)

就个人而言,我只使用一个视图控制器,并使用transitionWithView函数使视图具有动画效果。 这将大大减少您的内存占用,并为用户提供有趣的过渡。

class func transitionWithView(_ view: UIView,
                 duration duration: NSTimeInterval,
                  options options: UIViewAnimationOptions,
               animations animations: () -> Void,
               completion completion: ((Bool) -> Void)?)

有了它,您可以提供各种各样的动画过渡,甚至可以将其随机化,因此不知道使用了哪一个以及非常酷的功能。 这是过渡常数

static var TransitionNone: UIViewAnimationOptions { get }
static var TransitionFlipFromLeft: UIViewAnimationOptions { get }
static var TransitionFlipFromRight: UIViewAnimationOptions { get }
static var TransitionCurlUp: UIViewAnimationOptions { get }
static var TransitionCurlDown: UIViewAnimationOptions { get }
static var TransitionCrossDissolve: UIViewAnimationOptions { get }
static var TransitionFlipFromTop: UIViewAnimationOptions { get }
static var TransitionFlipFromBottom: UIViewAnimationOptions { get }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM