首页
/
每日頭條
/
圖文
/
ios qq通知不顯示内容
ios qq通知不顯示内容
更新时间:2025-12-27 08:17:29

實現效果如圖所示,點擊好友分組展開分組下的所有好友。再次點擊收回分組。當一個分組處于展開狀态時點擊其他分組,展開點擊的分組并同時收回之前已經展開的分組。

ios qq通知不顯示内容(QQ列表是如何實現的)1

該效果的難點在于:

1.分組的展開與回收

2.點擊不同分組時回收之前的分組

分組的顯示通過tableView的header實現。每個分組下對應的好友通過tableViewCell實現。

我們通過自定義tableView的header來實現分組效果。自定義header代碼如下

在自定義header中我們通過button的點擊來實現好友列表的展開與關閉。

因為button我們在view中創建所以我們通過代理将button的點擊事件代理到controller中。

注意在此的GroupMode類屬性。

該屬性的目的是便于我們使用屬性的setter方法賦值,也是為了後面用KVO監聽屬性值的變化而存在的。

自定義header實現文件

ios qq通知不顯示内容(QQ列表是如何實現的)2

這裡寫了一個類方法。我們用重用的方式創建header.

ios qq通知不顯示内容(QQ列表是如何實現的)3

這裡我們用系統自帶的layoutSubviews方法來設置空間的frame.當然我們也可以在創建控件的過程中直接設置frame.

ios qq通知不顯示内容(QQ列表是如何實現的)4

使用屬性的setter方法賦值,并設置觀察者觀察GroupModel屬性的isOpen屬性。

注意這裡KVO觀察的isOpen屬性的目的就是為了标記當前分組的打開關閉狀态。

roate方法的作用是旋轉分組最左邊的三角圖片。

ios qq通知不顯示内容(QQ列表是如何實現的)5

在button的點擊事件中通過自省讓代理執行方法。

這裡需要注意的是,在該方法也就是分組被點擊的過程中需要不斷地改變分組的狀态屬性的值進而讓我們一會在controller中通過該屬性值刷新界面。

ios qq通知不顯示内容(QQ列表是如何實現的)6

這裡isOpen屬性的目的是為了标記分組的打開或者關閉狀态。

注意這裡的friends這個數組屬性,我們來看一下數據結構

Plist數據文件結構

ios qq通知不顯示内容(QQ列表是如何實現的)7

通過數據我們可以看出每個分組裡都一個數組,該數組裡是分組下每個好友的數據信息,所以這裡friends數組屬性的目的就是為了儲存每個分組下的好友model的。實現代碼如下

分組對應的GroupModel的實現文件

ios qq通知不顯示内容(QQ列表是如何實現的)8

在給分組model賦值的過程中獲取并封裝好友model。

下面我們來看Controller裡的實現。

ListTableViewController的實現文件

ios qq通知不顯示内容(QQ列表是如何實現的)9

dataArray屬性用來儲存分組的model類。

注意在此的GroupModel類屬性,該屬性的目的是為了接收上一次已經展開的分組對應的model類。

是為了用戶點擊了不同的分組而之前的分組已經展開時回收之前的分組而存在的。

因為我們當點擊了不同的分組時不能确定之前我們點擊并已經展開的是哪個分組,所以用該屬性儲存上一次對應的分組。

方便我們之後刷新界面。原理與點擊空白回收鍵盤的原理是類似的。

ios qq通知不顯示内容(QQ列表是如何實現的)10

在返回每個分區有幾行cell時,因為每個分區的cell個數是要根據是否點擊分組而展開的。

所以通過isOpen屬性來判斷該分組是否已經展開返回對應的cell行數。

ios qq通知不顯示内容(QQ列表是如何實現的)11

這是代碼的核心,重中之重。

在button的代理方法裡,首先判斷當前點擊的是否是之前展開的分組,如果不是,将之前的分組的model的isOpen設置成NO.刷新界面。

這樣在刷新界面的過程中因為isOpen屬性為NO,所以該分組下的cell個數為零。效果為回收效果。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
控油防脫洗發水推薦女士(冬季必備控油防脫洗發水分享合集)
控油防脫洗發水推薦女士(冬季必備控油防脫洗發水分享合集)
                       冬天來啦~   天氣越來越冷   頭皮愛出油、還經常伴随着掉發的姐妹   是時候更換一下洗發水啦~   今天就分享出一些   我親測整理的洗發水   有需要的集美們快去看看吧~   #洗發水   #好物分享   #控油洗發水   ,
2025-12-27
印尼大師賽桃田對石宇奇(印尼大師賽明日看點)
印尼大師賽桃田對石宇奇(印尼大師賽明日看點)
  印尼大師賽正賽明天開打,看點多多,國羽男單又是硬仗滿屏,前世界第一桃田賢鬥和第二石宇奇再續前緣,李詩沣和駱建佑的恩恩怨怨繼續,翁泓陽又是和安東森對陣!         一号場地的焦點戰就是石宇奇和桃田賢鬥的較量,石頭本來是要打資格賽的,勝出之後第一輪對陣李梓嘉,遞補進正賽後換成桃田了,李梓嘉應該暗自慶幸吧,他都掉到第四了,最近不是一輪遊就是兩輪遊的!  ...
2025-12-27
銀河護衛隊第二部觀後感(影評下午茶銀河護衛隊2)
銀河護衛隊第二部觀後感(影評下午茶銀河護衛隊2)
     神吐槽   遠不如前作,最吸引人的複古趣緻氣質大兌水,主角性格薄弱到毫無記憶點,隻能延續尋父弑父的悲劇使命。角色亮點都被勇度、星塵和螳螂女搶光。   打醬油   套着個人皮面具就是外星人,各種過時的橋段,無聊。   頂一下   掠奪者們給勇度的葬禮看得我哭了,真情最為打動人,還好我看了,好多人都說2不靈,其實這部片子有很深的心理意涵呀,我們得承認自...
2025-12-27
兒孫自有兒孫福緻自己的一封信(還不清的兒孫債)
兒孫自有兒孫福緻自己的一封信(還不清的兒孫債)
  作者:高馳   來源:樂亭文化研究會《讀樂亭》雜志   題圖來自網絡      一“不孝有三,無後為大”。這是孟子在《離婁·上》中的原話,因符合國人的意願,廣泛流傳,常盛不衰。中國人最講孝道,而最大的不孝既然是無後,早娶媳婦早生兒子,再給兒子早娶媳婦早抱孫子,便成了人生的頭等大事。在早年家鄉的婚俗中,婚禮食品中要準備紅棗和栗子,也是取諧音“早立子”之意,...
2025-12-27
招搖隐身厲塵瀾看得見嗎(招搖被指控騙婚)
招搖隐身厲塵瀾看得見嗎(招搖被指控騙婚)
  近日,許凱和白鹿主演的招搖是越來越精彩了,兩人愛情的小火苗也已經燃起來了,兩人同仇敵忾大戰金仙,我們霸氣的招搖回來咯,本周路招搖也是心甘情願的向厲塵瀾貢獻了自己的吻      但是,路招搖恢複真身是有時間限制的,她得知自己快要離開了,最終化作了一個漂亮的煙花點亮了厲塵瀾的天空~(哈哈哈超級符合原著的劇情)      招搖消失後,厲塵瀾還沒反應過來,仍然沉...
2025-12-27
Copyright 2023-2025 - www.tftnews.com All Rights Reserved