iOS中tableview 兩級cell的展開與收回的示例代碼
由于文章內(nèi)容的限制,我們接著在上文的內(nèi)容展開,上文的方案中還是存在一個問題的,如果我們展開了多個section,并且展開的section不在屏幕上面,當我們滑動的時候,section再次回到屏幕的時候,展開的圖標就不是再往下了,如下圖所示:

我們來具體的分析一下,首先考慮是復(fù)用的問題,當section要顯示的時候,就會從復(fù)用池里面找到ID一樣的section,然后找到了section,拿過來直接用,這里僅僅把顯示的內(nèi)容修改了一下,并沒有判斷section里面圖標是展開狀態(tài)還是為展開狀態(tài)。好了,到這里我們分析出問題的所在,那么,我們我們應(yīng)該在修改程序呢?當section要顯示的時候,我們要判斷一下section展開圖標的狀態(tài),然后將它設(shè)置成正確的圖片。那么我們只要在GetViewForHeader里面添加如下的代碼
//數(shù)據(jù)重新加載的時候,展開圖標的重新設(shè)置
f (Title [(int)section].ExplandFlag) {
headerView.ExplandButton.SetImage (UIImage.FromBundle ("arrowD"), UIControlState.Normal);
else {
headerView.ExplandButton.SetImage (UIImage.FromBundle ("arrow"), UIControlState.Normal);
當你會發(fā)現(xiàn),程序還有一些漏洞,當你在收回一些section(這些個section是從復(fù)用池操作過來的),圖標缺收回不過來。如下圖所示:

這里又是啥原因呢?我們仔細考慮一下,是不是當我們從復(fù)用池拿過一個section的時候,原來的按鈕是旋轉(zhuǎn)了90度,然后直接給它換了一個對應(yīng)的圖片,然后點擊收回的時候,按鈕帶著這個圖片又開始旋轉(zhuǎn),所以會出現(xiàn)錯誤。那么我們是不是在圖片旋轉(zhuǎn)要旋轉(zhuǎn)的時候,將圖片對應(yīng)的修改一下,代碼如下:
//標志位改變
Title[(int)section].ExplandFlag=false;
//圖標的復(fù)位
UIButton explandButton=(UIButton)sender;
explandButton.SetImage (UIImage.FromBundle ("arrow"), UIControlState.Normal);
myTabViSource.ReturnRotate(explandButton);
//數(shù)據(jù)插入
int length=Title[(int)section].SecondTitle.Count;
NSIndexPath[] arrayIndexPath=new NSIndexPath[length];
for(int i=0;i<length;i++)
{
arrayIndexPath[i]=NSIndexPath.FromRowSection((nint)i,section);
}
tableview.DeleteRows(arrayIndexPath,UITableViewRowAnimation.Automatic);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IOS百度地圖導(dǎo)航開發(fā)功能實現(xiàn)簡述
百度地圖導(dǎo)航非常實用,那么基于代碼是如何實現(xiàn)的呢,下面通過本文給大家介紹IOS百度地圖導(dǎo)航開發(fā)功能實現(xiàn)簡述,需要的朋友可以參考下本文2016-03-03
iOS CoreMotion實現(xiàn)設(shè)備運動加速度計陀螺儀
這篇文章主要介紹了iOS CoreMotion實現(xiàn)設(shè)備運動加速度計陀螺儀,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
iOS通過UIDocumentInteractionController實現(xiàn)應(yīng)用間傳文件
這篇文章主要為大家介紹了iOS通過UIDocumentInteractionController實現(xiàn)應(yīng)用間傳文件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
IOS 開發(fā)中發(fā)送e-mail的幾種方法總結(jié)
這篇文章主要介紹了IOS 開發(fā)中發(fā)送e-mail的幾種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-03-03

