首页 > 解决方案 > 使用 Xcode 11.3 在 iOS 13 上未显示栏

问题描述

UITabBar未在 iOS 13.2 上显示

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        FirebaseApp.configure()

        window = UIWindow(frame: UIScreen.main.bounds)
        let rootViewController = UITabBarController()
        rootViewController.viewControllers = [RecordController()]
        window?.rootViewController = rootViewController
        window?.makeKeyAndVisible()

        return true
    }
}

并且UINavigationBar未在 iOS 13.2 上显示

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        FirebaseApp.configure()

        window = UIWindow(frame: UIScreen.main.bounds)
        window?.rootViewController = UINavigationController(rootViewController: RecordController())
        window?.makeKeyAndVisible()

        return true
    }
}

这在 iOS 12 及更早版本上完美运行

标签: swiftxcode11.3ios13.2

解决方案


如果您使用 13.2,则需要在 Scene Delegate 中替换您的代码。如果您的 xcode 中没有场景委托,则在 didFinishLaunchingWithOptions 委托中使用此条件。

希望它对你有用。谢谢

    if #available(iOS 13, *) {
        return //code for ios 13
    } else {
        return // code for ios 12 or lower version
    }

推荐阅读