swift-UICollectionView

UICollectionView的基本使用

UICollectionView的使用跟tableview的使用大同小異!關(guān)鍵要注意在使用的cell的是有要先注冊cell;使用自定義headerview也是需要先進(jìn)行注冊

初始化UICollectionViewFlowLayout

let jflayout = UICollectionViewFlowLayout.init()
jflayout.layoutAttributesForElements(in: CGRect.zero)
jflayout.scrollDirection = .vertical
jflayout.minimumLineSpacing = 1
jflayout.minimumInteritemSpacing = 1
jflayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)
jflayout.itemSize = CGSize(width: (JF_SCREEN_WIDTH-2)/3, height: (JF_SCREEN_WIDTH-2)/3 + 15)

初始化UICollectionView等操作

jfRootView = UICollectionView.init(frame: view.frame, collectionViewLayout: jflayout)
view.addSubview(jfRootView)
jfRootView.delegate = self
jfRootView.dataSource = self
jfRootView.backgroundColor = UIColor.init(red: 244/255.0, green: 244/255.0, blue: 244/255.0, alpha: 1)

要想cell和collviewheader能正常使用必須先注冊cell類型

//注冊cell
jfRootView.register(JFMyCollectionViewCell.classForCoder(), forCellWithReuseIdentifier: "JFMyCollectionViewCell")
//注冊Headerview
jfRootView.register(UICollectionReusableView.classForCoder(), forSupplementaryViewOfKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "UICollectionReusableView")

處理collectionView的代理方法噪裕,下面的兩個(gè)方法就不多解釋了大家都明白

// MARK:UICollectionView 代理方法
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return jfArray.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell:JFMyCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "JFMyCollectionViewCell", for: indexPath) as! JFMyCollectionViewCell
        let model:JFCellModel = jfArray[indexPath.row]
        cell.jfTitle.text = model.jfTitle
        cell.jfImgView.image = UIImage.init(named: model.jfImgName)
        return cell
}

給collectionView添加headerview

必須先設(shè)置collectionView header的大小

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
        return CGSize.init(width: JF_SCREEN_WIDTH, height: 180)

}

進(jìn)行自定義 headerView

func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView{
        let reusableview = UICollectionReusableView()
        if kind == UICollectionElementKindSectionHeader {
            let jfNewView:UICollectionReusableView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionHeader, withReuseIdentifier: "UICollectionReusableView", for: indexPath)
            jfNewView.backgroundColor = JF_MAIN_COLOR
            jfNewView.addSubview(jfHeadImgView)
            jfHeadImgView.snp.makeConstraints { (make) in
                make.centerY.equalTo(jfNewView)
                make.size.equalTo(CGSize.init(width: 70, height: 70))
                make.left.equalTo(jfNewView.snp.left).offset(30)
            }

            jfHeadImgView.layer.borderWidth = 1
            jfHeadImgView.layer.borderColor = UIColor.white.cgColor
            jfHeadImgView.layer.masksToBounds = true
            jfHeadImgView.layer.cornerRadius = 70/2;
            jfHeadImgView.image = UIImage.init(named: "logo")
            let jfname = UILabel.init()
            jfNewView.addSubview(jfname)
            let jfhome = UILabel()
            jfNewView.addSubview(jfhome)
            jfname.textColor = UIColor.white
            jfhome.textColor = UIColor.white
            jfname.snp.makeConstraints { (make) in
                make.left.equalTo(jfHeadImgView.snp.right).offset(30)
                make.bottom.equalTo(jfHeadImgView.snp.centerY)
                make.size.equalTo(CGSize.init(width: 200, height: 30))
            }
            jfhome.snp.makeConstraints { (make) in
                make.left.equalTo(jfname)
                make.top.equalTo(jfHeadImgView.snp.centerY)
                make.size.equalTo(jfname)
            }

            jfname.text = JFUserModel.shareUser().Users_PersonName
            jfhome.text = JFUserModel.shareUser().Users_CorpName
            return jfNewView
     }     
  return reusableview
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末展姐,一起剝皮案震驚了整個(gè)濱河市殃饿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌息裸,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沪编,死亡現(xiàn)場離奇詭異呼盆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蚁廓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門访圃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人相嵌,你說我怎么就攤上這事腿时。” “怎么了饭宾?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵批糟,是天一觀的道長。 經(jīng)常有香客問我看铆,道長徽鼎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任弹惦,我火速辦了婚禮否淤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棠隐。我一直安慰自己石抡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布宵荒。 她就那樣靜靜地躺著汁雷,像睡著了一般净嘀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上侠讯,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天挖藏,我揣著相機(jī)與錄音,去河邊找鬼厢漩。 笑死膜眠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的溜嗜。 我是一名探鬼主播宵膨,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼炸宵!你這毒婦竟也來了辟躏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤土全,失蹤者是張志新(化名)和其女友劉穎捎琐,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裹匙,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瑞凑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了概页。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片籽御。...
    茶點(diǎn)故事閱讀 40,865評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惰匙,靈堂內(nèi)的尸體忽然破棺而出技掏,到底是詐尸還是另有隱情,我是刑警寧澤徽曲,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布零截,位于F島的核電站,受9級特大地震影響秃臣,放射性物質(zhì)發(fā)生泄漏涧衙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一奥此、第九天 我趴在偏房一處隱蔽的房頂上張望弧哎。 院中可真熱鬧,春花似錦稚虎、人聲如沸撤嫩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽序攘。三九已至茴她,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間程奠,已是汗流浹背丈牢。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瞄沙,地道東北人己沛。 一個(gè)月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像距境,于是被迫代替她去往敵國和親申尼。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評論 2 361

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

  • 文章鏈接 blog.csdn.net/sinat_34194127/article/details/5181897...
    whong736閱讀 5,692評論 0 2
  • 1垫桂、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明先生_X自主閱讀 15,988評論 3 119
  • 最近計(jì)劃把Elasticsearch升級到當(dāng)前最新版本2.3.3师幕。 我在本地虛擬機(jī)上搭建了一個(gè)ES集群。 環(huán)境描述...
    唯我樓蘭閱讀 1,176評論 0 0
  • 我和宋至分手了诬滩。 其實(shí)我并不意外们衙,我們分開這件事,就像積聚很久的云碱呼,拖來拖去最后還是要帶來一場久候不至的雨。 但是...
    林上川渝閱讀 305評論 6 2
  • 邊城宗侦,今天偶爾點(diǎn)開有聲書愚臀,結(jié)果,一聽起來便一發(fā)不可收拾矾利。我總是不習(xí)慣書看第二遍姑裂,但這次,我卻聽了一遍又一遍男旗,會想起...
    用燈點(diǎn)亮夜的黑閱讀 140評論 0 0