【问题标题】: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 而不使用故事板创建一个 ios 应用程序,但我有一个问题,我需要让我的显示器全屏但它不工作
【发布时间】:2020-09-16 20:57:15
【问题描述】:

我目前正在使用 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

(显然格式化为特定的查看器控制器)

我该如何解决这个问题?

我没有在我的 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()

【问题讨论】:

  • 显示您的 appdelegate 代码
  • 你能说明你在哪里展示 logInVC 吗??
  • @NabeelNazir 你是什么意思?从您注销时开始。这是带您返回登录屏幕的代码: let logInVC = LogInVC() let navController = UINavigationController(rootViewController: logInVC) self.present(navController, animated: true, completion: nil) logInVC.modalPresentationStyle = .fullScreen

标签: ios swift xcode uinavigationcontroller


【解决方案1】:

使用

navController.modalPresentationStyle = .fullScreen

而不是

logInVC.modalPresentationStyle = .fullScreen

在呈现 navController 之前编写此代码。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2020-01-05
    • 1970-01-01
    相关资源
    最近更新 更多