使用 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
XCDYouTubeClient 不在 Swift 4 中播放视频