[Swift]使用迴圈來建立按鈕

之前其實是寫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取得按鈕資訊

留言

這個網誌中的熱門文章

[Arduino]電子秤平 重量感測條+HX711AD模組

cpe練習筆記 UVa401 Palindromes

cpe練習筆記 UVa10019 Funny Encryption Method