我正在使用 xcode 创建一个 ios 应用程序而不使用故事板,但我有一个问题,我需要让我的显示器全屏显示但它不工作
I am creating an ios app using xcode without using the story board but i have a problem, i need to make my displays full screen but its not working
我目前正在使用 xcode (Swift) 创建一个应用程序,但我的大部分显示不是全屏,有些是。
到目前为止,我的项目包括四个查看器控制器:
登录
注册
忘记密码
和家
当我启动该应用程序时,您可以登录并进入主屏幕并进入您的帐户(我设法全屏显示),但是当该应用程序启动且用户未登录时,您是显示带有两个按钮的登录页面:
"Dont have an account? Sign up" -> 这会将您带到注册表单
"Forgot password" -> 将您带到忘记密码表单
这两个按钮在应用程序启动时不起作用,但当用户登录帐户并注销并取回登录表单时,以上两个按钮现在可以使用。
我不确定为什么会发生这种情况,也不确定如何解决这个问题有人可以帮忙吗?
这是允许您切换到不同控制器的代码:
从登录表单到注册表单
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
(显然格式化为特定的查看器控制器)
我该如何解决这个问题?
除了以下内容,我没有向我的 appdelegate 文件添加任何内容:
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 之前编写此代码。
希望对您有所帮助
我目前正在使用 xcode (Swift) 创建一个应用程序,但我的大部分显示不是全屏,有些是。 到目前为止,我的项目包括四个查看器控制器:
登录
注册
忘记密码
和家
当我启动该应用程序时,您可以登录并进入主屏幕并进入您的帐户(我设法全屏显示),但是当该应用程序启动且用户未登录时,您是显示带有两个按钮的登录页面:
"Dont have an account? Sign up" -> 这会将您带到注册表单
"Forgot password" -> 将您带到忘记密码表单
这两个按钮在应用程序启动时不起作用,但当用户登录帐户并注销并取回登录表单时,以上两个按钮现在可以使用。 我不确定为什么会发生这种情况,也不确定如何解决这个问题有人可以帮忙吗?
这是允许您切换到不同控制器的代码:
从登录表单到注册表单
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
(显然格式化为特定的查看器控制器)
我该如何解决这个问题?
除了以下内容,我没有向我的 appdelegate 文件添加任何内容:
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 之前编写此代码。
希望对您有所帮助