基於之前提到的腳手架,我們再次建立一個swift app,這次做點小東西:
-
介面包括一個按鈕和一個標籤,標籤初始值為0
-
當點選按鈕時,標籤的數字會被累加1
程式碼如下:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
self.window = UIWindow(frame: UIScreen.main.bounds)
let page = Page1()
self.window!.rootViewController = page
self.window?.makeKeyAndVisible()
return true
}
}
class Page1: UIViewController {
var count = 0
var label : UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
label = UILabel()
label.frame = CGRect(x: 100, y: 100, width: 20, height: 50)
label.text = "0"
view.addSubview(label)
let button = UIButton(type: .system)
button.frame = CGRect(x: 120, y: 100, width: 20, height: 50)
button.setTitle("+",for: .normal)
button.addTarget(self, action: #selector(Page1.buttonAction(_:)), for: .touchUpInside)
view.addSubview(button)
}
func buttonAction(_ sender:UIButton!){
self.count += 1
label.text = self.count.description
}
}
編譯執行後會看到介面上的按鈕和標籤,點選按鈕標籤的值加1,說明App滿足我們的最初需求。
程式碼解釋下:
-
這次設定為APPDelegate內的rootViewController為一個繼承與UIViewController的類
-
UIViewController類內屬性view可以把其他view加入其內,
-
按鈕的類為UIButton ,可以通過屬性frame設定位置和大小,可以通過UIViewController.view物件的方法addSubview把按鈕加入到UIViewController內
-
標籤的類為UILabel,可以通過屬性frame設定位置和大小,可以通過UIViewController.view物件的方法addSubview把按鈕加入到UIViewController內
-
button可以新增事件,通過方法:
button.addTarget(self, action: #selector(Page1.buttonAction(_:)), for: UIControlEvents.touchUpInside)