乙個專案中由於要使用checbox,但是ios的提供的控制項中並沒有checkbox,因此專案中使用了乙個vkcheckbox的第三方框架,這個框架本身很好用,效果也非常的好!
例如:你選中了第乙個cell的checkbox,假設第5個cell是重用的第乙個,那麼第5個cell也會是被選中的狀態,想了好久試了好多辦法也沒有乙個特別的效率高的辦法,最後選擇了乙個方法,解決思路如下:
建立乙個全域性的字典,然後key是cell的indexpath.item,注意這裡要轉成sting型別,value就是checkbox的狀態0或1.重新整理介面的時候根據字典裡的狀態來重新設定每個checkbox的狀態。我是在
func collectionview(collectionview: uicollectionview, cellforitematindexpath indexpath: nsindexpath) -> uicollectionviewcell
中新增的這個方法,就是在返回cell之前設定的具體的**如下:
let item = string(indexpath.item)
///初始化這個字典,若去出來的資料為nil則證明這個checkbook的狀態沒有被初始化
if(self.checkboxarray[item] == nil)
print("item=\(indexpath.item)=\(self.checkboxarray[item])")
switch self.checkboxarray[item]!
checkbox.checkboxvaluechangedblock = else
}
感覺不是特別的有效率,但是確實解決了這個問題!
IOS開發之 UITableView重用機制
對table view的資料進行繫結,即填充cell,自動呼叫n次 uitableviewcell tableview uitableview tableview cellforrowatindexpath nsindexpath indexpath cell.text soundsignature...
ios之清除cell快取,解決cell的重用問題。
原文 tableview 中的cell有重用機制,這是乙個很好的東西,可以避免開闢很多的空間記憶體。但是有時候我們不想讓它重用cell,可以用以下的 解決。將這個 放在 uitableviewcell tableview uitableview tableview cellforrowatindex...
iOS開發筆記 tableview重用問題
前陣子載入系統內建相簿,發現相簿多了以後,拉動table,很多都會出現重複的現象,排查 發現,自己在cellforrowatindexpath裡面,每次都會alloc一次顯示的imageview,不去判斷這個imageview是否存在。只需要先判斷一下這個imageview是否已經存在。講得不到位的...