最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Swift自定義UITableViewCell背景色

 更新時(shí)間:2022年01月26日 11:24:10   作者:Hierarch_Lee  
這篇文章主要為大家詳細(xì)介紹了Swift自定義UITableViewCell背景色,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Swift自定義UITableViewCell背景色的具體代碼,供大家參考,具體內(nèi)容如下

效果

前言

前段時(shí)間在整理課件 《UITableView》 章節(jié)的時(shí)候,看著單元格選中時(shí)的背景顏色覺得特別扭,系統(tǒng)給的顏色太過單調(diào),當(dāng)時(shí)想整理一篇修改單元格選中樣式的文章,但一直沒有時(shí)間,現(xiàn)在閑下來,終于可以完成了。在實(shí)際開發(fā)中,系統(tǒng)提供的樣式不能滿足需求,可能大家想到的最直接的方式就是定制,自定義。沒錯(cuò),這里修改表格視圖單元格選中時(shí)的背景顏色也是通過自定義單元格的方法實(shí)現(xiàn),當(dāng)然也可以通過代理方法實(shí)現(xiàn),如果有興趣,大家可以研究一下。

實(shí)現(xiàn)

在UITableViewCell的子類文件(CustomTableViewCell.swift)中實(shí)現(xiàn)如下方法即可

override func setSelected(selected: Bool, animated: Bool) {
? ? super.setSelected(selected, animated: animated)

? ? // Configure the view for the selected state

? ? if selected {
? ? ? ? self.backgroundColor = UIColor.orangeColor()
? ? }else {
? ? ? ? self.backgroundColor = UIColor.whiteColor()
? ? }
}

運(yùn)行工程,可能你會(huì)發(fā)現(xiàn),當(dāng)你點(diǎn)擊單元格的時(shí)候,選中樣式依舊是系統(tǒng)樣式,如下圖:

這是什么原因?qū)е碌哪兀?/strong>打開視圖層級(jí),我們就會(huì)發(fā)現(xiàn),其實(shí)我們已經(jīng)設(shè)置成功了,只是被遮住了,如下圖:

那應(yīng)該如何解決呢?其實(shí)很簡(jiǎn)單,只需要修改cell的selectionStyle屬性即可,如下所示:

cell.selectionStyle = UITableViewCellSelectionStyle.None

現(xiàn)在,我們就完成了自定義單元格選中樣式了,特簡(jiǎn)單吧?

延伸

有時(shí)可能會(huì)有這種需求,就是我不需要選中背景色,但是我想在點(diǎn)擊某個(gè)單元格的時(shí)候閃一下,即背景色突變一下就OK,像這種需求又改如何解決呢?

首先,我們需要實(shí)現(xiàn)如下方法,當(dāng)單元格不管是選中也好,未選中也罷,都設(shè)為白色。

override func setSelected(selected: Bool, animated: Bool) {
? ? super.setSelected(selected, animated: animated)

? ? // Configure the view for the selected state

? ? if selected {
? ? ? ? self.backgroundColor = UIColor.whiteColor()
? ? }else {
? ? ? ? self.backgroundColor = UIColor.whiteColor()
? ? }
}

其次,在代理方法中,做如下操作:

func tableView(tableView: UITableView, didHighlightRowAtIndexPath indexPath: NSIndexPath) {

? ? let cell = tableView.cellForRowAtIndexPath(indexPath)

? ? // change the cell background color
? ? cell?.backgroundColor = UIColor.redColor()
}

除了在代理方法中操作,還可以在自定義單元格中實(shí)現(xiàn),效果一致,只是無需通過代理方法實(shí)現(xiàn),具體實(shí)現(xiàn)如下:

override func setHighlighted(highlighted: Bool, animated: Bool) {
? ? if highlighted {
? ? ? ? self.backgroundColor = UIColor.redColor()
? ? }else {
? ? ? ? self.backgroundColor = UIColor.whiteColor()
? ? }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Swift面向?qū)ο缶幊讨械姆椒?method)

    詳解Swift面向?qū)ο缶幊讨械姆椒?method)

    既然面向?qū)ο竽蔷鸵欢〞?huì)有method,方法和面向過程語言中的function函數(shù)并沒什么區(qū)別,只不過方法在面向?qū)ο笳Z言中可以被類來約束作用域,這里我們就來詳解Swift面向?qū)ο缶幊讨械姆椒?method)
    2016-07-07
  • Swift教程之類與結(jié)構(gòu)詳解

    Swift教程之類與結(jié)構(gòu)詳解

    這篇文章主要介紹了Swift教程之類與結(jié)構(gòu)詳解,本文講解了類和結(jié)構(gòu)的異同、結(jié)構(gòu)和枚舉類型是數(shù)值類型、類是引用類型、如何選擇使用類還是結(jié)構(gòu)、集合類型的賦值和復(fù)制操作等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • iOS Swift UICollectionView橫向分頁滾動(dòng),cell左右排版問題詳解

    iOS Swift UICollectionView橫向分頁滾動(dòng),cell左右排版問題詳解

    UICollectionView是iOS中比較常見的一個(gè)控件,這篇文章主要給大家介紹了關(guān)于iOS Swift UICollectionView橫向分頁滾動(dòng),cell左右排版問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • 詳解swift中xcworkspace多項(xiàng)目管理

    詳解swift中xcworkspace多項(xiàng)目管理

    給大家詳細(xì)講解了IOS開發(fā)中swift語言xcworkspace多項(xiàng)目管理的方法和介紹,一起參考一下。
    2017-11-11
  • swift 4自定義UITableCell的方法示例

    swift 4自定義UITableCell的方法示例

    這篇文章主要給大家介紹了關(guān)于swift 4自定義UITableCell的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • 理解二叉堆數(shù)據(jù)結(jié)構(gòu)及Swift的堆排序算法實(shí)現(xiàn)示例

    理解二叉堆數(shù)據(jù)結(jié)構(gòu)及Swift的堆排序算法實(shí)現(xiàn)示例

    二插堆即是完全二叉樹,對(duì)于排序可以按構(gòu)建最大堆或最小堆的方式來實(shí)現(xiàn),這里我們就來共同理解二叉堆數(shù)據(jù)結(jié)構(gòu)及Swift的堆排序算法實(shí)現(xiàn)示例
    2016-07-07
  • Swift實(shí)現(xiàn)“或”操作符的3種方法示例

    Swift實(shí)現(xiàn)“或”操作符的3種方法示例

    這篇文章主要給大家介紹了關(guān)于Swift實(shí)現(xiàn)“或”操作符的3種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹

    Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹

    這篇文章主要介紹了Swift中動(dòng)態(tài)調(diào)用實(shí)例方法介紹,在Swift中有一類很有意思的寫法,可以讓我們不直接使用實(shí)例來調(diào)用這個(gè)實(shí)例上的方法,而是通過類型取出這個(gè)類型的某個(gè)實(shí)例方法的簽名,然后再通過傳遞實(shí)例來拿到實(shí)際需要調(diào)用的方法,需要的朋友可以參考下
    2015-01-01
  • 淺談swift 4.0中private所發(fā)生的變化

    淺談swift 4.0中private所發(fā)生的變化

    Swift 4是蘋果計(jì)劃于2017年秋季推出的最新版本,其主要重點(diǎn)是提供與Swift 3代碼的源兼容性,并努力實(shí)現(xiàn)ABI穩(wěn)定性。下面這篇文章主要給大家介紹了關(guān)于swift 4.0中private所發(fā)生的一些變化,需要的朋友可以參考下。
    2017-12-12
  • Swift與Objective C的簡(jiǎn)單對(duì)比

    Swift與Objective C的簡(jiǎn)單對(duì)比

    很多人想學(xué)習(xí)iOS開發(fā),但是不知道如何從Objective-C和Swift之間選擇。而網(wǎng)上的一些答案,大抵說的是,以后Swift終將取代Objective-C,但是目前來講還是Objective-C比較重要。那么究竟怎樣呢,今天我們就來探討下
    2016-12-12

最新評(píng)論

汶上县| 凤城市| 调兵山市| 济源市| 十堰市| 日土县| 资兴市| 凤城市| 永顺县| 抚宁县| 渑池县| 唐海县| 宜城市| 井冈山市| 康保县| 邵东县| 临朐县| 黔西县| 沁源县| 松滋市| 措美县| 赤峰市| 星子县| 旺苍县| 体育| 西乌珠穆沁旗| 武胜县| 嘉峪关市| 镶黄旗| 富蕴县| 石柱| 平遥县| 个旧市| 承德县| 富平县| 吴忠市| 昌宁县| 黄平县| 资中县| 永年县| 确山县|