UIView
UIView 是最常使用的一種元件了,他是畫面各種元件的基礎類別,如果要自製 UI 元件通常都是從繼承它開始。
他很類似於 HTML 裡的 div 標籤,基本上他只是定義了一個簡單範圍、並帶有很通用的基礎的功能與樣式,時常扮演其他元件的容器。
建立一個 UIView
下面是用程式的方式產生出一個 UIView,我們先寫在 viewDidLoad 方法的最後:
let view = UIView(frame: CGRect(x: 20, y: 20, width: 250, height: 200 ))
view.backgroundColor = UIColor.orange
self.view.addSubview(view)
執行後畫面就會出現一個橘色矩形:
第一行是產生一個新的 UIView 物件 第二行設定了背景顏色
每一個 UIViewController 本身都帶有一個 View,第三行的 self.view 就是取得這個 view 之後,透過每個 view 都有的增加子視圖的方法(addSubview)來將橘色的 view 加入到畫面中。
建立兩個 UIView
let view = UIView(frame: CGRect(x: 20, y: 20, width: 250, height: 200 ))
view.backgroundColor = UIColor.orange
self.view.addSubview(view)
let view2 = UIView(frame: CGRect(x: 50, y: 30, width: 250, height: 250))
view2.backgroundColor = UIColor.green
view.addSubview(view2)
增加觸碰事件
類似於其他語言常見的 addEventListener 作用。
let gesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.viewTap))
view.addGestureRecognizer(gesture)
@objc func viewTap()
{
print("You touched view!")
}
Swift 4 之後的事件函式都得在前方加 @objc 喔!