import UIKit
@UIApplicationMain? //main函數(shù)
// 應(yīng)用程序代理類
//AppDelegate中的方法都是UIApplicationDelegate中的協(xié)議方法
//UIApplication? 應(yīng)用程序類
class AppDelegate: UIResponder, UIApplicationDelegate {
// 應(yīng)用程序窗口矾睦,是AppDelegate類色屬性
var window: UIWindow?
//應(yīng)用程序加載完成時(shí)觸發(fā)這個(gè)方法
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// 想在window對(duì)象添加內(nèi)容盐须,就在這個(gè)方法中實(shí)現(xiàn)
//UIScreen 屏幕類
//UIScreen.main 獲取屏幕對(duì)象
//UIScreen.main.bounds 屏幕大小
self.window = UIWindow(frame: UIScreen.main.bounds)
//顏色
self.window?.backgroundColor = #colorLiteral(red: 1, green: 0.6225224255, blue: 0.6268012779, alpha: 1)
//讓window成為應(yīng)用程序的主窗口,并使其可見(jiàn)
self.window?.makeKeyAndVisible()
//給window設(shè)置根視圖控制器(現(xiàn)在只做了解)
self.window?.rootViewController = UIViewController()
//(一般一個(gè)應(yīng)用程序只需要一個(gè)UIWindow對(duì)象)
/*
//UIView的創(chuàng)建方式(五個(gè)視圖)
let redView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
redView.backgroundColor = #colorLiteral(red: 1, green: 0.1491314173, blue: 0, alpha: 1)
//向window上添加一個(gè)子視圖
self.window?.addSubview(redView)
//獲取屏幕的寬
let screenWidth = UIScreen.main.bounds.size.width
//獲取屏幕的高
let screenHeight = UIScreen.main.bounds.size.height
let greenView = UIView(frame: CGRect(x: screenWidth - 100, y: 0, width:100 , height: 100))
greenView.backgroundColor = #colorLiteral(red: 0.4666666687, green: 0.7647058964, blue: 0.2666666806, alpha: 1)
self.window?.addSubview(greenView)
let yellowView = UIView(frame: CGRect(x: 0, y: screenHeight - 100, width: 100, height: 100))
yellowView.backgroundColor = #colorLiteral(red: 0.9764705896, green: 0.850980401, blue: 0.5490196347, alpha: 1)
self.window?.addSubview(yellowView)
let perploView = UIView(frame: CGRect(x: screenWidth - 100, y: screenHeight - 100, width: 100, height: 100))
perploView.backgroundColor = #colorLiteral(red: 0.8549019694, green: 0.250980407, blue: 0.4784313738, alpha: 1)
self.window?.addSubview(perploView)
let yellow = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
//yellow中心點(diǎn)和window中心點(diǎn)重合
yellow.center = (self.window?.center)!
yellow.backgroundColor = #colorLiteral(red: 0.2588235438, green: 0.7568627596, blue: 0.9686274529, alpha: 1)
self.window?.addSubview(yellow)
*/
let centerView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
centerView.backgroundColor = #colorLiteral(red: 0.5568627715, green: 0.3529411852, blue: 0.9686274529, alpha: 1)
self.window?.addSubview(centerView)
//UIView 的常用屬性
//alpha 透明度? 0.0~1.0
centerView.alpha = 1.0
//hidden 顯隱性 true是隱藏 false是顯示(默認(rèn)值)
centerView.isHidden = false
//superView 獲取到父視圖的屬性
let fatherView = centerView.superview
fatherView?.backgroundColor = #colorLiteral(red: 0.721568644, green: 0.8862745166, blue: 0.5921568871, alpha: 1)
//向centerView上添加子視圖
let greenView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
greenView.backgroundColor = #colorLiteral(red: 0.9568627477, green: 0.6588235497, blue: 0.5450980663, alpha: 1)
//子視圖超出父視圖的邊界郊霎,就把超出部分剪掉了(了解)
//centerView.clipsToBounds = true
//tag值屬性 給一個(gè)視圖添加一個(gè)唯一標(biāo)識(shí)(0~100不要在使用了)
greenView.tag = 200
centerView.addSubview(greenView)
//subViews屬性簿透,獲取子視圖的屬性,返回值是一個(gè)數(shù)組移袍,
let arr = centerView.subviews
let newView = arr[0]
newView.backgroundColor = UIColor.blue
//根據(jù)tag值獲取視圖對(duì)象
let newView2 = centerView.viewWithTag(200)
newView2?.backgroundColor = UIColor.cyan
return true
}
//應(yīng)用程序?qū)⒁∠钴S狀態(tài)時(shí)觸發(fā)
func applicationWillResignActive(_ application: UIApplication) {
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
}
//已經(jīng)進(jìn)入后臺(tái)時(shí)觸發(fā)
func applicationDidEnterBackground(_ application: UIApplication) {
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
//將要進(jìn)入前臺(tái)時(shí)觸發(fā)
func applicationWillEnterForeground(_ application: UIApplication) {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}
//應(yīng)用程序已經(jīng)變的活躍時(shí)觸發(fā)
func applicationDidBecomeActive(_ application: UIApplication) {
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}
//程序?qū)⒁Y(jié)束的時(shí)候觸發(fā)
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
}