iOS培訓教程——UITableViewCell的高亮和選中-創(chuàng)新互聯(lián)

由于時間的問題,就給大家先少說一點有關(guān)UITableViewCell的問題,再說如果寫的越多,也許會不能消化,那么還是少來點吧!

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的南華網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一起來看看UITableView的最重要的組成部分。

一、UITableViewCell的高亮和選中

當我們打開一個tableView的頁面,上面布滿了一個個cell,tableview允許我們通過datasource為這些

cell提供數(shù)據(jù),通過delegate來控制點擊cell時候如何響應(yīng)。查看UITableViewCell的幫助文檔我們可以

看到它有兩個屬性highLighted、selected。這兩者之間到底又怎么樣的聯(lián)系呢?當我們點擊cell的時候

都發(fā)生了什么呢?要達到這個目的,很簡單我們只要自定義一個cell繼承自UITableViewCell。

二、然后重載它的以下兩個方法

iOS培訓教程——UITableViewCell的高亮和選中

這兩個方法一個是設(shè)置cell的高亮狀態(tài),另一個是設(shè)置cell的選中狀態(tài),我們只需要在這兩個方法里面打印信息就可以看出點擊cell時這些狀態(tài)是怎么變化的了。

測試的程序很簡單,直接重載了這兩個方法,打印設(shè)置的選中和高亮的狀態(tài)。當我們點擊任何一個cell的時候,輸出如下:

iOS培訓教程——UITableViewCell的高亮和選中

我們可以看出,當我們點擊cell的時候,其實是先設(shè)置cell的高亮狀態(tài)為YES,然后松手的時候再將cell

的高亮狀態(tài)設(shè)置為NO,接著才是設(shè)置cell的選中狀態(tài)為YES,最后才會去調(diào)用delegate中的

tableview:didSelectRowAtIndexPath:方法。

此處我們delegate的tableview:didSelectRowAtIndexPath:方法中只是做了打印(沒有遵照設(shè)計規(guī)范,在

該方法中取消選中),這個時候已經(jīng)有一個cell處于選中狀態(tài)時,我們再去點擊另外一個cell時,輸出如

下:

iOS培訓教程——UITableViewCell的高亮和選中

通過截圖我們可以看出,前兩布還是和第一次點擊cell時類似,但是緊接著是首先設(shè)置前一個cell為非選中狀態(tài),然后在設(shè)置當前點擊的cell為選中狀態(tài),最后再調(diào)用delegate的方法。為什么會先取消上一個cell的選中狀態(tài)呢?因為tableView默認是不支持多選的,我們可以通過設(shè)置allowsMultipleSelection為YES來設(shè)置支持多選。

總結(jié)上面兩種情況,我們發(fā)現(xiàn)cell的高亮狀態(tài)是不能持久的,即tap的時候會變成高亮,松手的時候就會自動設(shè)置為非高亮狀態(tài)。而cell的選中狀態(tài)則是可以持久的,我們不去觸發(fā)它改變狀態(tài),則選中狀態(tài)就不會改變。

通常cell非選中且非高亮狀態(tài)時候cell上的字體是黑色的,但是高亮或者選中狀態(tài)時我們可能希望改變字體的顏色為白色或者其他顏色,這個時候就可以通過重載這兩個方法來實現(xiàn),下面是代碼片段,如圖:

iOS培訓教程——UITableViewCell的高亮和選中

如圖所示,左邊是正常情況下,右邊是選中狀態(tài)下:

iOS培訓教程——UITableViewCell的高亮和選中

如果有說的不對的地方,希望大家能夠給我指出來,也歡迎和各位大師一起討論關(guān)于iOS開發(fā)方面的知識,還可繼續(xù)關(guān)注我,藍鷗講師——張浩!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁標題:iOS培訓教程——UITableViewCell的高亮和選中-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article36/csjcpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、虛擬主機、ChatGPT標簽優(yōu)化、關(guān)鍵詞優(yōu)化、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計