我看不到预期的View Controller

时间:2017-03-24 16:26:40

标签: ios iphone swift user-interface

我正在使用swift练习IOS应用程序。

我创建了三个视图控制器Default,Login视图和Register Page。 1)默认视图嵌入了导航控制器。 2)默认视图通过segue连接(当前模态) 3)在登录视图中,SignUp按钮通过segue(当前模态)连接到Register视图。

预期:我应该看到默认视图,然后加载登录视图。

问题:我只能看到默认视图。但我无法看到登录视图。

附加截图是我的UI。请放大以获得更好的视图。

希望任何人都会帮助我。提前谢谢。enter image description here

1 个答案:

答案 0 :(得分:1)

你的故事板似乎很好。

执行wind segue有两种不同的方式:

  1. 直接信号

    1.1只需将UIButton放入第一个View Controller即可。

    1.2然后按Ctrl键,选择按钮并将其拖到第二个视图控制器(登录视图控制器)中。将出现一个蓝色箭头,将其拖放到下一个视图控制器中。

    1.3完成!您可以运行您的应用程序并单击添加的按钮,它会将您发送到下一个视图控制器。

  2. 以编程方式划分:

    2.1对于每个segue,您需要提供一个标识符。为此,您需要转到故事板,选择每个segue并在检查员处给出一个名称。

    2.2为故事板中的每个视图控制器创建一个ViewController Cocoa Touch类文件(文件>新>文件...> Cocoa Touch类)。

    2.3完成后,它将显示最近的ViewController文件而不是故事板。再次转到故事板选择第二个View Controller(我们称之为OtherViewController),然后转到Utility窗格中的“Identity Inspector”。它的图标看起来像一张卡片,左上角有一张图片,另外一些写在其他地方(在下面的截图中用蓝色选中)。在那里,将“Custom Class”部分的“Class”部分设置为我们的新OtherViewController。如果它是兼容的子类(在这种情况下是UIViewController),它将接受它。一旦开始输入兼容的类,它也可能会自动完成。

    2.4接下来,您需要生成一个操作来执行segue并从一个View Controller转到另一个View Controller。此外,您可以将值发送到下一个视图控制器(例如numberToDisplay)。为此,您需要添加以下代码:

  3. 代码:

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "SegueCustomIdentifier"
        {
            if let destinationVC = segue.destinationViewController as? OtherViewController {
                destinationVC.numberToDisplay = counter
            }
        }
    }
    

    2.5要执行此segue,您需要将下一个代码添加到第一个View Controller中并将其附加到一个简单的操作,例如:按下按钮事件。

    self.performSegueWithIdentifier("HAIDetails", sender: self)
    

    有关详细信息,请访问:tutorial