如何在Swift中随机查看ViewControllers?

时间:2014-11-23 05:19:17

标签: ios xcode swift segue uistoryboard

对于我的Swift应用程序,我正在尝试使其成为一个按钮将导致我的Main.storyboard中的随机页面,但我不确定是否存在这样的方法。我有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

以下是如何转换为随机ViewController的方法。对于我的示例,我选择使用UINavigation Controller并推送segues,但您可以使用其他segue类型轻松完成此操作。

我通过以下方式创建了这个故事板:

  1. 单一视图应用程序模板开始。
  2. 从故事板中选择ViewController,然后从菜单中选择编辑器 - >嵌入 - >导航控制器
  3. 我又添加了3个ViewController s,并在右侧的属性检查器中将其背景设置为红色,绿色和蓝色。
  4. 下面我将讨论如何将ViewController中的segues连接到红色,绿色和蓝色ViewController

    以下是我最终故事板的概述:

  5. Storyboard showing colored ViewControllers

    完成这项工作的关键是通过ViewController顶部的ViewController图标连接您的segue,而不是将其从UIButton连接起来。在弹出窗口中,我选择了push作为segue类型。

    control drag from ViewController icon

    之后,单击segue箭头并为segue指定一个标识符。我把它命名为“pushGreen”,因为它是我的绿色ViewController的推送。

    Giving the segue an Identifier

    我为红色的ViewController(segue:“pushRed”)和蓝色的ViewController(segue:“pushBlue”)重复了这个。


    我在第一个UIButton添加了ViewController,并将其称为“Go”。这是按下时的IBAction

    @IBAction func goPressed(sender: UIButton) {
        let segues = ["pushRed", "pushGreen", "pushBlue"]
        let index = Int(arc4random_uniform(UInt32(segues.count)))
        let segueName = segues[index]
        self.performSegueWithIdentifier(segueName, sender: self)
    }