【问题标题】:presenting and pushing viewcontrollers in swift 3.0在 swift 3.0 中展示和推送视图控制器
【发布时间】:2017-02-02 18:49:00
【问题描述】:

我在故事板中工作,并且还以编程方式做一些事情。首先,我以编程方式创建了一个 viewController controller,它是登录页面(第一个视图)。但在情节提要中,我有一个NavigationController,其根为ViewController。一切(方法forgotPasswordloginDidFinish)工作正常,除了ViewController 在启动应用程序后立即在controller 之前查看。

所以我把NavigationController的根改成了controller,之后我的功能就不起作用了。我已经尝试了几件事,比如删除故事板中的 navcontrol 等。你可以在这里看到我的项目:https://github.com/ardulat/SPE

【问题讨论】:

  • 抱歉,忘记通过链接更新仓库
  • 尝试删除is initial view controller 选项或选择左侧的箭头并将其从您的导航控制器中删除是情节提要。如果您以编程方式创建 loginVC,那么您应该在 appDelegate didFinishLaunchingWithOptions function 中有一些代码。
  • @mikle94 对我不起作用

标签: ios swift uiviewcontroller swift3


【解决方案1】:

我将为您提供登录场景的基本示例,希望它可以帮助您解决问题,我首先要做的是正确设置 ViewController 之间的导航,如下所示:


我的项目中有两个视图控制器(LoginViewController.swiftMainViewController.swift):


所以在我的故事板中,我创建了两个 ViewController,第一个嵌入了 NavigationController,然后我设置了从我的第一个 ViewController 到我的第二个 ViewController 的 segue:


然后我给我创建的segue命名:


为了从 Login 导航到 Main ViewController,我在 loginButtonTapped 中调用 performSegue 方法触摸登录按钮时触发的操作。

LoginViewController.swift:

class LoginViewController: UIViewController {

  override func viewDidLoad() {
    super.viewDidLoad()
  }

  @IBAction func loginButtonTapped(_ sender: AnyObject) {
    // TODO: validate your login form

    performSegue(withIdentifier: "LoginToMain", sender: nil)
  }


}

【讨论】:

  • 这很明显,不是我无法解决的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
相关资源
最近更新 更多