關於 iOS 11 之后,UITableView 的 Header 高度設置無效問題解決辦法


  升級完 iOS11 之后,很多人覺得用着不習慣,各種吐槽,包括系統也出現一些問題,系統界面越來越丑。而且最坑的是你更新了 iOS 系統之后,作為開發者你必須更新 Xcode 而最新的 Xcode 又需要最新的 Mac 系統,所以一連串的更新就來了。更新完 Xcode 各種難受,不知道為什么要改變用戶的快捷鍵習慣,真的是不得不吐槽。

  接下來說重點:iOS11 之后你會發現你設置了 UITableView 的 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;這個方法根本沒效果。而且會默認有個 Header 大概20的高度。這就很蛋疼了,博主經過各種嘗試,最終找到一個完美解決辦法:實現 UITableView 的另外兩個代理方法即可,下面給出代碼。

(1)- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{

    return nil;

}

(2)- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{

    return nil;

}

注意:如果設置了 Header 就實現(1)方法,如果沒設置 Header 就不要實現,Footer 也是一樣,設置了 Footer 就實現(2)方法,沒設置就不要實現。

按照上述方法操作之后,有沒有發現問題已經完美解決,哈哈,拿走不謝~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM