我正在尝试学习Swift和iOS视图以及ViewControllers。
var window: UIWindow?
var rootViewController: MyCustomView?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
// Override point for customization after application launch.
self.rootViewController = MyCustomView()
self.rootViewController!.backgroundColor = UIColor.orangeColor()
var rect = CGRectMake(20, 20, 100, 100)
var label = UILabel(frame: rect)
label.text = "Hello iOS Views"
label.backgroundColor = UIColor.orangeColor()
self.window!.rootViewController = self.rootViewController
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.makeKeyAndVisible()
return true
编译时出现错误, “无法在以下行找到成员'rootViewController'” :
self.window!.rootViewController = self.rootViewController
不确定为什么Xcode 6 Beta不喜欢它,但它能够找到这一行:
self.rootViewController!.backgroundColor = UIColor.orangeColor()
答案 0 :(得分:2)
问题是MyCustomView是一个UIView。但UIWindow的rootViewController
需要一个UIViewController。
一般来说,通过不区分视图控制器和视图,您已经混淆了自己的代码。但你确实明智地命名了MyCustomView,这很好。它具有backgroundColor
的事实有助于证明它是视图,而不是视图控制器(视图控制器没有背景颜色)。