import UIKit
@UIApplicationMain? //main函數
// 應用程序代理類
//AppDelegate中的方法都是UIApplicationDelegate中的協議方法
//UIApplication? 應用程序類
class AppDelegate: UIResponder, UIApplicationDelegate {
// 應用程序窗口,是AppDelegate類色屬性
var window: UIWindow?
//應用程序加載完成時觸發這個方法
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// 想在window對象添加內容,就在這個方法中實現
//UIScreen 屏幕類
//UIScreen.main 獲取屏幕對象
//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成為應用程序的主窗口,并使其可見
self.window?.makeKeyAndVisible()
//給window設置根視圖控制器(現在只做了解)
self.window?.rootViewController = UIViewController()
//(一般一個應用程序只需要一個UIWindow對象)
/*
//UIView的創建方式(五個視圖)
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上添加一個子視圖
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中心點和window中心點重合
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是顯示(默認值)
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值屬性 給一個視圖添加一個唯一標識(0~100不要在使用了)
greenView.tag = 200
centerView.addSubview(greenView)
//subViews屬性,獲取子視圖的屬性,返回值是一個數組,
let arr = centerView.subviews
let newView = arr[0]
newView.backgroundColor = UIColor.blue
//根據tag值獲取視圖對象
let newView2 = centerView.viewWithTag(200)
newView2?.backgroundColor = UIColor.cyan
return true
}
//應用程序將要取消活躍狀態時觸發
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.
}
//已經進入后臺時觸發
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.
}
//將要進入前臺時觸發
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.
}
//應用程序已經變的活躍時觸發
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.
}
//程序將要結束的時候觸發
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
}