使用 Swift 3 'self.present' 呈现一个新的视图控制器

Posted

技术标签:

【中文标题】使用 Swift 3 \'self.present\' 呈现一个新的视图控制器【英文标题】:Using Swift 3 'self.present' to present a new View Controller使用 Swift 3 'self.present' 呈现一个新的视图控制器 【发布时间】:2017-01-17 15:23:51 【问题描述】:

我目前正在制作一个应用程序,我希望能够在第一个视图控制器上输入游戏玩家,并让按钮运行一系列条件检查。如果满足所有条件,我希望它将用户带到下一个视图控制器。

我的问题是我不完全确定如何展示下一个视图控制器。目前我正在尝试使用“self.present”函数来解决它,但我正在努力寻找如何让它在 Swift 3 中工作。

任何有关如何执行此操作的帮助,或有关任何替代选项的建议将不胜感激。

按下按钮时触发的 if/else 语句:

if meTextField.text == "" 

        if errLabelNotBlank == false 

            errorLabel.isHidden = false
            errorLabel.text = "You must be playing!"
            errLabelNotBlank = true

        

     else if playersDict.count < 2 

        errorLabel.isHidden = false
        errorLabel.text = "You need at least 2 players!"
        errLabelNotBlank = true

     else 

        //Code to present the next VC here

    

【问题讨论】:

but I am struggling to find how to get it to work in Swift 3. 到底是什么问题?我没有看到您在代码中的任何位置调用 present 目前我没有在我的代码中调用它。当我尝试调用它时,主要问题是它说我输入的 View Controller 的名称 ConfirmPlayersVC 是一个未解析的标识符。我想我输入不正确,但我只是不知道如何指定视图。 【参考方案1】:

在两个视图控制器之间创建一个segue。从视图控制器本身拖放(不是输入按钮)。使其成为“当前模态”类型。

完成后,单击 segue 事物并单击属性检查器(箭头)。在此示例中将标识符更改为您想要的任何内容,例如“ShowScanner”。

将此代码放在您要更改视图的位置。

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

【讨论】:

以上是关于使用 Swift 3 'self.present' 呈现一个新的视图控制器的主要内容,如果未能解决你的问题,请参考以下文章

VC 使用 self.present 调用时不显示 navigationItem

Swift:按钮功能未执行

XCDYouTubeClient 不在 Swift 4 中播放视频

为啥我们需要调用主线程进行 UI 更新?

Swift:当前视图控制器在转换到下一个视图控制器期间重新显示

停止从不同的View Controller更新位置