[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取得按鈕資訊

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料