之前其實是寫Object-c的,但是剛好選修的課程要求使用Swift
但也沒差反正觀念都通就行XDD
這是因應期末專題來製作一個打地鼠小遊戲,那地鼠就用按鈕來代替啦~由於要重複自己是一件愚蠢的事情(DRY-Don't repeat yourself)所以這按鈕部分要使用迴圈來產生
Swift版本:3.1
目標:產生3x3的矩陣按鈕
先定義一些等等要用到的參數
let screenSize: CGRect = UIScreen.main.bounds let btnWidth = Int(screenSize.width/3) let btnHeight = 100 var btnY=0 var btnX=0 var btnTag=1
開始繞回圈(3x3)
for _ in 0...2{ for j in 0...2{ let btn = UIButton(type: .custom) as UIButton btn.backgroundColor = .blue btn.setTitle("Button", for: .normal) btn.frame = CGRect(x: btnX, y: 200+btnY, width: btnWidth, height: btnHeight) btn.addTarget(self, action: #selector(clickMe), for: .touchUpInside) btn.tag = btnTag self.view.addSubview(btn) if(j % 3 == 2){ btnY = btnY+btnHeight btnX = 0 } else{ btnX = btnX + btnWidth } btnTag = btnTag + 1 } }
最後建立func來抓住點擊,透過tag來辨識按鈕
func clickMe(sender:UIButton){ print(sender.tag) }
比較需要注意的是按鈕呼叫的副程式是不允許傳值的,只能透過sender取得按鈕資訊