您好,登錄后才能下訂單哦!
(1)在使用UITableView時經常會出現代理或者數據源方法不走的情況,遇到這類情況很多人就著急了,我要告訴你的是,不要著急,肯定是你的代碼出現問題了,如何查找到問題出在哪個地方呢?
第一步:仔細看看你的TableView是不是添加到父視圖上邊了,沒有添加上去當然不會它的代理和數據源方法了;
第二步:你的代理和數據源寫了嗎?如果只寫了數據源沒有寫代理那就把兩個都寫上,這里是為了更安全;
第三步:是不是只走了返回單元格個數的方法而沒有走返回單元格的方法,這個情況要根據你的單元格的創建方法來判斷,單元格創建最簡單的是直接創建,這個情況出問題的很少,不過你也要看看是不是你創建的單元格子類化了,單元格的本類是不是子類化的那個類;復用了單元格的情況,解決思路和直接創建一樣,值得注意的是單元格的identifier一定不要有重復的;借助xib的情況,xib中的identifier和從復用池中拿的單元格的identifier一樣嗎?到這步還沒解決問題?
第四步:把動態返回單元格的高度的方法寫上,把父視圖的automaticallyAdjustsScrollViewInsets屬性設置為NO,為什么呢?往父視圖上添加的第一個視圖是UIScrollView以及它子類的對象的時候,會自動往下偏移64個像素,但是這和數據源方法不走又有多少關系呢?只能告訴你,這是經驗總結。。。。
(2)還有遇到明明子類化了一個UITableViewCell,但是一運行就說子類化的類不存在,或者是讓你從Nib中獲取,不要推卸責任到Xcode上,是你之前創建了一這樣一個類,然后把它給刪了,又創建了一個名字一樣的類,這時候把Xcode清空一下緩存吧,如果還不行,自己犯下的錯,含著淚也要重新創建一個類,注意不要再用你刪除的類命名,記得把單元格的類名改一下哦!!那告訴你從Nib中獲取單元格呢?同樣的原因,操作辦法和剛才一樣。。。不要嫌麻煩,程序員就是制造麻煩然后解決麻煩的!!
(3)創建的tableView有時候會往下偏移,還是automaticallyAdjustsScrollViewInsets惹的禍,還有時候最后一個單元格只顯示了一部分,這就要看你創建的tableView時候的frame怎么設置的,有導航控制器和標簽控制器的時候它都會自動偏移的,這種問題的解決辦法就是用tableView的contentInset屬性把tableView的偏移量改過來。
使用UICollectionView也會遇到上面這些問題,一步一步來,問題都會解決的,在UICollectionView中還可能是因為用的不是UICollectionViewFlowLayout,再確定你的代理寫的是UICollectionViewDelegateFlowLayout,還有注冊單元格的類名對嗎?
總之出現問題首先考慮的是代碼那個地方出錯了,永遠不要相信的自己代碼是完美的,旺旺你認為最沒有錯誤的地方會出現問題。。。。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。