swift - 导航控制器无法正常工作去另一个视图控制器?
问题描述
我有两个按钮,分别是登录和注册按钮,当我要点击登录按钮时,我以编程方式对我的 UI 进行编码而不使用情节提要,它不会转到LoginController
这里是我的代码。是因为新的 SceneDelegate 吗?
import UIKit
class ViewController: UIViewController{
let loginButton = UIButton()
let signUpButton = UIButton()
override func viewDidLoad(){
super.viewDidLoad()
setupLoginButton()
setupSignUpButton()
view.backgroundColor = .black
}
func setupLoginButton(){
loginButton.applyDesign()
loginButton.setTitle("Login", for: .normal)
loginButton.addTarget(self, action: #selector(loginButtonTapped), for: .touchUpInside)
view.addSubview(loginButton)
loginButtonConstraints()
}
@objc func loginButtonTapped(){
let nextScreen = LoginController()
navigationController?.pushViewController(nextScreen, animated: true)
}
解决方案
let nextScreen = LoginController()
let nextVC = UINavigationController(rootViewController: nextScreen)
nextVC.modalPresentationStyle = .fullScreen
self.present(nextVC, animated: true, completion: nil)
试试这个它会工作。
推荐阅读
- r - 使用 ggplot2 绘制堆叠区域和线条
- python - pytorch 数据集中每个类的实例数
- python - Flask render_template() 删除数据库中的条目后不显示主页
- c++ - C++ 模板函数的行为与 Visual Studio 2019 中的虚幻引擎不一致
- sql-server - 查询以获取 SQL Server 兼容级别
- javascript - window.print 分页后重复内容
- haskell - haskell 编译程序无显示
- postgresql - 无法使用 JDBC 驱动程序连接到远程 PostgresSQL 服务器
- javascript - 如何在 javascript 中执行命令将文件上传到应用程序?
- android - overridePendingTransition 在 API 23 中使屏幕变黑,但在 API 29 中运行良好