欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

iOS中tableview兩級cell的展開與收回的示例代碼

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

成都創(chuàng)新互聯(lián)公司專注于上高企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設公司,商城網(wǎng)站建設。上高網(wǎng)站建設公司,為上高等地區(qū)提供建站服務。全流程按需設計網(wǎng)站,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務

iOS中tableview 兩級cell的展開與收回的示例代碼

我們來具體的分析一下,首先考慮是復用的問題,當section要顯示的時候,就會從復用池里面找到ID一樣的section,然后找到了section,拿過來直接用,這里僅僅把顯示的內(nèi)容修改了一下,并沒有判斷section里面圖標是展開狀態(tài)還是為展開狀態(tài)。好了,到這里我們分析出問題的所在,那么,我們我們應該在修改程序呢?當section要顯示的時候,我們要判斷一下section展開圖標的狀態(tài),然后將它設置成正確的圖片。那么我們只要在GetViewForHeader里面添加如下的代碼

//數(shù)據(jù)重新加載的時候,展開圖標的重新設置 
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是從復用池操作過來的),圖標缺收回不過來。如下圖所示:

iOS中tableview 兩級cell的展開與收回的示例代碼

這里又是啥原因呢?我們仔細考慮一下,是不是當我們從復用池拿過一個section的時候,原來的按鈕是旋轉(zhuǎn)了90度,然后直接給它換了一個對應的圖片,然后點擊收回的時候,按鈕帶著這個圖片又開始旋轉(zhuǎn),所以會出現(xiàn)錯誤。那么我們是不是在圖片旋轉(zhuǎn)要旋轉(zhuǎn)的時候,將圖片對應的修改一下,代碼如下:

//標志位改變 
Title[(int)section].ExplandFlag=false; 
//圖標的復位 
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)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

本文題目:iOS中tableview兩級cell的展開與收回的示例代碼
網(wǎng)站地址:http://chinadenli.net/article26/jgjccg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站小程序開發(fā)做網(wǎng)站軟件開發(fā)網(wǎng)站收錄網(wǎng)站設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(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)頁設計