Swift - 单击Button后打开新视图

时间:2017-07-17 08:29:06

标签: ios swift button view

我想在点击按钮后打开新视图。它可以工作,当我在Main.storyboard中通过UIButton创建时,我需要在代码中创建它,因为我必须使用一些带有登录名/密码的if语句。我尝试使其像其他类似问题中的建议一样,但它不起作用:

@IBAction func login(_ sender: UIButton) {

   performSegue(withIdentifier: "Second", sender: self)} 

登录视图的ID:首先;

第二个视图的ID:第二个

enter image description here

7 个答案:

答案 0 :(得分:2)

您可以使用storyboard Id

 let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

    let nextViewController = storyBoard.instantiateViewController(withIdentifier: "secondStoryboardId") as! SecondViewController
    self.present(nextViewController, animated:true, completion:nil)

答案 1 :(得分:1)

您的Segue在屏幕截图中看起来没有标识符。你确定吗。请从第一个视图到第二个视图为您的segue添加一个标识符,然后使用segue标识符名称更改以下代码

performSegue(withIdentifier: "Segueidentifier", sender: self)} 

要在segue上添加标识符,请单击故事板中的segue,然后在Storys Segue部分的Attributes Inspector添加标识符的右侧单击

Identifier

答案 2 :(得分:0)

您不应将故事板ID 用于segues。将分别有 segue标识符。拖动和删除segue时,屏幕之间会连接一条线。单击它以添加segue标识符。您需要在此处提供 segue ID

您可以从下图中看到segue连接: enter image description here enter image description here

答案 3 :(得分:0)

将Segue标识符设置如下:

enter image description here

答案 4 :(得分:0)

这个答案应该有效 https://stackoverflow.com/a/35349319/6299120 只需输入您的故事板名称,而不是' main'您的标识符在'标识符'和你的视图控制器作为第二视图控制器....希望这有帮助

答案 5 :(得分:0)

选择segue 并在属性检查器中提供标识符/名称(此处,我已放置toSecond) 然后执行segue。

ScreenShot: enter image description here

源代码:

@IBAction func login(_ sender: UIButton) {

   performSegue(withIdentifier: "toSecond", sender: self)
} 

答案 6 :(得分:0)

还要确保你的segue来自最初的VC而不是按钮...