我正在使用swift练习IOS应用程序。
我创建了三个视图控制器Default,Login视图和Register Page。 1)默认视图嵌入了导航控制器。 2)默认视图通过segue连接(当前模态) 3)在登录视图中,SignUp按钮通过segue(当前模态)连接到Register视图。
预期:我应该看到默认视图,然后加载登录视图。
问题:我只能看到默认视图。但我无法看到登录视图。
附加截图是我的UI。请放大以获得更好的视图。
答案 0 :(得分:1)
你的故事板似乎很好。
执行wind segue有两种不同的方式:
直接信号
1.1只需将UIButton放入第一个View Controller即可。
1.2然后按Ctrl键,选择按钮并将其拖到第二个视图控制器(登录视图控制器)中。将出现一个蓝色箭头,将其拖放到下一个视图控制器中。
1.3完成!您可以运行您的应用程序并单击添加的按钮,它会将您发送到下一个视图控制器。
以编程方式划分:
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)。为此,您需要添加以下代码:
代码:
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