Swift - 九宮格的創(chuàng)建

/**
* 九宮格的創(chuàng)建是有規(guī)律可循的,每一個(gè)格子的水平和豎直方向的間隔是固定的
* ,通過計(jì)算每一個(gè)格子的位置,然后把它們依次放到視圖中即可著摔。
*
* 一般的步驟為:
* 1.設(shè)置格子的總個(gè)數(shù)和每一列的格子數(shù)
* 2.求格子的間隔:
* 水平間隔 = 視圖總寬-每一個(gè)格子的寬*列數(shù))/(列數(shù)+1)
* 豎直間隔 = 水平間隔
* 3.通過for循環(huán),依次創(chuàng)建所有的格子并設(shè)置相應(yīng)的圖片,并且對(duì)每一個(gè)格子的位置進(jìn)行設(shè)置
*/

聲明屬性

   // 聲明屬性
    var button :UIButton?
    var image :UIImage?

設(shè)置格子總數(shù)和列數(shù)

       // 設(shè)置格子的高和寬
        self.image = UIImage(named: "0.jpg")
//        let heigth:CGFloat = self.image!.size.height
//        let width:CGFloat = self.image!.size.width
        
        let heigth:CGFloat = 75
        let width:CGFloat = 75

設(shè)置格子的間距

       // 設(shè)置格子的間距
        let screenSize:CGSize = self.view.frame.size
        
        let hMargin:CGFloat = (screenSize.width - (CGFloat(col) * width)) / CGFloat((col+1))
        let vMargin:CGFloat = hMargin

創(chuàng)建九宮格

       var row:Int = 0
        for i in 0..<nums {
            self.button = UIButton()
            self.image! = UIImage(named: "\(i).jpg")!
            self.button!.setImage(self.image!, forState: .Normal)
            
            if i%col == 0 {
                row++
            }
            
            let x:CGFloat = hMargin + (width + hMargin) * CGFloat(i%col)
            let y:CGFloat = vMargin + (heigth + vMargin) * CGFloat(row)
            
            self.button!.frame = CGRectMake(x, y, width, heigth)
            self.view.addSubview(self.button!)
        }

運(yùn)行效果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末始鱼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌琐脏,老刑警劉巖坚嗜,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異继蜡,居然都是意外死亡回俐,警方通過查閱死者的電腦和手機(jī)逛腿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仅颇,“玉大人单默,你說我怎么就攤上這事×榱” “怎么了雕凹?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)政冻。 經(jīng)常有香客問我枚抵,道長(zhǎng),這世上最難降的妖魔是什么明场? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任汽摹,我火速辦了婚禮,結(jié)果婚禮上苦锨,老公的妹妹穿的比我還像新娘逼泣。我一直安慰自己,他們只是感情好舟舒,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布拉庶。 她就那樣靜靜地躺著,像睡著了一般秃励。 火紅的嫁衣襯著肌膚如雪氏仗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天夺鲜,我揣著相機(jī)與錄音皆尔,去河邊找鬼。 笑死币励,一個(gè)胖子當(dāng)著我的面吹牛慷蠕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播食呻,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼流炕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了仅胞?” 一聲冷哼從身側(cè)響起浪感,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎饼问,沒想到半個(gè)月后影兽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡莱革,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年峻堰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讹开。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捐名,死狀恐怖旦万,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情镶蹋,我是刑警寧澤成艘,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站贺归,受9級(jí)特大地震影響淆两,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拂酣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一秋冰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧婶熬,春花似錦剑勾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至饺谬,卻和暖如春洲赵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背商蕴。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芝发,地道東北人绪商。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辅鲸,于是被迫代替她去往敵國和親格郁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容