Xcode 11 & iOS13,使用 UIKIT 不能改变 UIViewController 的背景颜色
Posted
技术标签:
【中文标题】Xcode 11 & iOS13,使用 UIKIT 不能改变 UIViewController 的背景颜色【英文标题】:Xcode 11 & iOS13, using UIKIT can't change background colour of UIViewController 【发布时间】:2019-10-05 18:59:13 【问题描述】:所以我在 Xcode11 中创建了一个新项目,将 AppDelegate 设置为我的新 VC,并将 xxx 场景委托中的代码注释为没有 UIKit 部分:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
// Override point for customization after application launch.
window = UIWindow()
window?.makeKeyAndVisible()
let controller = MainVC()
window?.rootViewController = controller
return true
在我的 UIViewController 中,我想设置背景颜色,
import UIKit
class MainVC : UIViewController
override func viewDidLoad()
view.backgroundColor = .red
self.view.backgroundColor = .blue
print("main Screen showing")
ConfigureUI()
setupUI()
但结果是模拟器中的黑屏。甚至从其他项目中获取代码也无济于事...... 我以前在其他 Xcode 版本中做过这个,应该可以工作。有任何想法吗?
PS:App进入ViewController,可以在控制台打印,但是黑屏。
【问题讨论】:
【参考方案1】:并将 xxx 场景委托中的代码注释为没有 UIKit 部分
你不能那样做。 您的代码需要放在正确的位置。如果你在 Xcode 11 中创建一个新项目,这段代码什么也不做:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
// Override point for customization after application launch.
window = UIWindow()
window?.makeKeyAndVisible()
let controller = MainVC()
window?.rootViewController = controller
return true
代码运行,但 window 属性不是您应用的窗口,所以您所做的一切毫无意义。该窗口现在属于 场景委托。这就是您需要创建窗口并设置其根视图控制器的地方。
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions)
if let windowScene = scene as? UIWindowScene
self.window = UIWindow(windowScene: windowScene)
let vc = MainVC()
self.window!.rootViewController = vc
self.window!.makeKeyAndVisible()
【讨论】:
您好@matt先生,我最初在应用程序启动时使用了上述代码,但我很困惑如何在登录后使用此代码并且需要设置主视图控制器。 @SagarChauhan github.com/mattneub/RegistrationExample以上是关于Xcode 11 & iOS13,使用 UIKIT 不能改变 UIViewController 的背景颜色的主要内容,如果未能解决你的问题,请参考以下文章
辅助功能检查器无法在 MacOS Catalina 和 Mojave 上的 Xcode 11.x、iOS 13.x 上运行
Google 和 Facebook 登录控制器在 Xcode 11 iOS 13 中以模态方式呈现
升级到 XCode 13(和 iOS 15)后选项卡和导航栏发生变化
2021-11-17 xcode12.3 &xcode13.1 下lipo合并framework问题
XCode 11.3 崩溃,iOS 13.2.2 模拟器 iPhone X 和 watchOS 4.2 Apple Watch 42mm