ios - 我正在使用 xcode 不使用情节提要创建一个 ios 应用程序,但我有一个问题,我需要让我的显示器全屏但它不工作
问题描述
我目前正在使用 xcode (Swift) 创建一个应用程序,但我的大多数显示器都不是全屏的,有些是全屏的。到目前为止,我的项目包括四个查看器控制器:
登录
报名
忘记密码
和家
当我启动应用程序时,您可以登录并进入您的帐户的主屏幕(我设法使其全屏显示),但是当应用程序启动并且用户未登录时,您会看到登录信息带有两个按钮的页面:
“没有帐户?注册”-> 将您带到注册表单
“忘记密码” -> 带您进入忘记密码表单
这两个按钮在应用程序启动时不起作用,但是当用户登录帐户并注销并取回登录表单时,上面的两个按钮现在起作用。我不确定为什么会发生这种情况,也不知道如何解决这个问题,有人可以帮忙吗?
这是允许您切换到不同控制器的代码:
从登录表单到注册表单
let signUpButton: UIButton = {
let button = UIButton(type: .system)
button.setTitle("Don't have an account? Sign up", for: .normal)
button.setTitleColor(UIColor(red: 170/255, green: 170/255, blue: 170/255, alpha: 1), for: .normal)
button.addTarget(self, action: #selector(handleShowSignUp), for: .touchUpInside)
return button
}()
@objc func handleShowSignUp() {
let signUpVC = SignUpVC()
self.navigationController?.pushViewController(signUpVC, animated: true)
}
从登录表单到忘记密码表单:
let forgotPasswordButton: UIButton = {
let button = UIButton(type: .system)
button.setTitle("Forgot password?", for: .normal)
button.setTitleColor(UIColor(red: 170/255, green: 170/255, blue: 170/255, alpha: 1), for: .normal)
button.addTarget(self, action: #selector(forgotPassword), for: .touchUpInside)
return button
}()
@objc func forgotPassword() {
let forgotPassword = ForgotPasswordVC()
self.navigationController?.pushViewController(forgotPassword, animated: true)
}
回到我原来的问题,以上所有内容都是全屏的,直到您从那里注销,所有内容都回到新卡布局,您可以在后台看到以前的视图,我试图将此行添加到所有控制器但是它似乎不起作用:
logInVC.modalPresentationStyle = .fullScreen
(显然格式化为特定的查看器控制器)
我该如何解决?
除了:
FirebaseApp.configure()
我已将以下内容添加到我的场景委托中:
guard let mainScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: mainScene)
let mainTabVC = MainTabVC()
window?.rootViewController = UINavigationController(rootViewController: mainTabVC)
window?.makeKeyAndVisible()
解决方案
采用
navController.modalPresentationStyle = .fullScreen
代替
logInVC.modalPresentationStyle = .fullScreen
在呈现 navController 之前编写此代码。
我希望这能帮到您
推荐阅读
- twig - Twig 使用常量作为属性
- android - 如何创建适用于桌面和 Android 浏览器的 WhatsApp 的点击聊天链接?
- hive - 选择 hive 中 column > percentile(column, 0.5) 的行
- python-3.x - Django 任务未使用 crontab 运行
- vue.js - 使用 Nuxt.js + i18n 时,我想对标签和自定义数据属性的 href 使用 t 方法而不是 nuxt-link
- spring-mvc - 在 Spock 中模拟 RestOperations.exchange(带有可变参数的重载方法)
- spring - Spring Cloud Function - 不同消费者的单独路由表达式
- macos - macos 中“任何”伪设备的模拟
- bash - awk 使用换行符分隔列值打印 $0
- javascript - 无法读取以下 JSON 对象,即使元素存在也给出未定义