首页 > 解决方案 > mainStoryboard instantiateViewController 显示问题 - Swift

问题描述

切换到另一个视图时,它会作为选项卡打开。因此,正如您在第一张照片中看到的那样,它以这种方式打开了新打开的视图。但我想将其视为全屏,而不是第二张照片中的选项卡。它们之间没有显示关系,就像我打开 klass 的代码一样。当我在代码中打开 LoginView 标识符时,它以选项卡而不是全屏的形式出现

*手机顶部的照片。

第一张照片

第二张照片

class ASD: UIViewController {

    @IBAction func logoutButton(_ sender: Any) {
      let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
      let vc : ViewController = mainStoryboard.instantiateViewController(withIdentifier: "LoginView") as! ViewController
        self.present(vc, animated: false, completion: nil)
    }
}

标签: swift

解决方案


您可以将 modalPresentationStyle 设置为全屏

@IBAction func logoutButton(_ sender: Any) {
  let mainStoryboard = UIStoryboard(name: "Main", bundle: Bundle.main)
  let vc : ViewController = mainStoryboard.instantiateViewController(withIdentifier: "LoginView") as! ViewController
    vc.modalPresentationStyle = .fullScreen // add this to your code for fullscreen presentation 
    self.present(vc, animated: false, completion: nil)
}

推荐阅读