91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-08-04 03:45:22 來源:網絡 閱讀:1140 作者:藍鷗張浩 欄目:移動開發

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

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

一、UITableViewCell的高亮和選中

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

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

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

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

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

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

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

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

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

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

的高亮狀態設置為NO,接著才是設置cell的選中狀態為YES,最后才會去調用delegate中的

tableview:didSelectRowAtIndexPath:方法。

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

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

下:

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

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

總結上面兩種情況,我們發現cell的高亮狀態是不能持久的,即tap的時候會變成高亮,松手的時候就會自動設置為非高亮狀態。而cell的選中狀態則是可以持久的,我們不去觸發它改變狀態,則選中狀態就不會改變。

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

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

如圖所示,左邊是正常情況下,右邊是選中狀態下:

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄯善县| 鄂州市| 饶阳县| 连州市| 中江县| 桐柏县| 和龙市| 衡阳县| 竹山县| 宁海县| 微山县| 乌审旗| 格尔木市| 大竹县| 固镇县| 正定县| 白玉县| 文水县| 定安县| 浙江省| 泸定县| 泾川县| 深州市| 东宁县| 怀化市| 思南县| 兴安县| 边坝县| 广南县| 资阳市| 绥宁县| 邳州市| 祁东县| 响水县| 福海县| 手机| 东乡族自治县| 淅川县| 金溪县| 绥化市| 安龙县|