如何使模态视图出现在控制器之外?

时间:2016-05-22 22:48:25

标签: swift

我正在尝试编写一个小游戏,只是为了应用我在本课程中学到的概念。当游戏打开时,我想要一个自定义模态视图来告诉用户如何玩。同样,当它们丢失时,我想呈现一个结果页面,它将在if语句中。我在互联网上搜索过,我找不到一种方法来显示这些视图而没有错误。该视频显示的是如何在按下按钮时显示视图;如何在代码中显示命令的自定义模态视图? (我对Swift很新,所以试着用外行的话说。)谢谢!

import UIKit
var numberValue = 0
let randomInt = getRandomNumber()

class ViewController: UIViewController {
    @IBOutlet weak var buttonLabel: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()
        let vc = self.storyboard?.instantiateViewControllerWithIdentifier("HowToPlayView") as! HowToPlay

self.presentViewController(vc, animated: true, completion: nil)
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.
    }





    @IBAction func buttonPressed() {
        numberValue += 1
        updateButtonValue(buttonLabel)
    }



}


    @IBAction func buttonPressed() {
        numberValue += 1
        updateButtonValue(buttonLabel)
    }



}

这是我的视图控制器。获取错误:线程1:EXC_BAD_ACCESS

My view in interface and connections

enter image description here

1 个答案:

答案 0 :(得分:0)

好的,让我们尝试一种不同的方法来解决这个问题。在ViewController上方,您应该看到三个不同的按钮:enter image description here

单击第一个按钮,然后按Ctrl +拖动到要显示的视图,然后选择以模态方式显示。完成后,您应该会看到此箭头:enter image description here

从第一个视图到第二个视图,这被称为 segue ,您可以在代码中调用它来从一个视图转换到下一个视图,但首先我们必须提供 segue 标识符。您可以通过单击箭头来执行此操作,并且应该出现如下窗口: enter image description here

正如你所看到的,你必须填写标识符字段,在我的情况下,我只是将其命名为#34; myAwesomeSegue"。

最后,在第一个ViewController中,当您需要显示下一个视图控制器时运行此代码:

performSegueWithIdentifier("myAwesomeSegue", sender: nil)

请注意,如果您使用此方法,只需删除之前的代码,因为这是一种全新的方法(所以基本上删除此代码):

let vc = self.storyboard?.instantiateViewControllerWithIdentifier("HowToPlayView") as! HowToPlay

self.presentViewController(vc, animated: true, completion: nil)

firstViewController的最终代码: enter image description here

相关问题