iOS UITableView的sectionHeader代理方法 viewForHeaderInSection (不走viewForHeaderInSection代理方法)

在iOS實際開發(fā)中,很多時候都會遇到設置tableView的組頭。

除了直接設置 ?【tableView.tableHeaderView = [[UIView alloc] initWithFrame:<#(CGRect)#>];】 ?之外,最常用的就是使用tableView的代理方法 ?【- (UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section;】。

但是有一個問題,很多時候我們設置了tableView的grouped樣式,遵循了協(xié)議,設置了數(shù)據(jù)源和代理,上面這個返回組頭view的代理方法還是不走。

究其原因,是因為在使用返回組頭的代理方法時,必須要設置tableView的 sectionHeader 的高度。

//設置組頭的高度-如果需要自定義組頭視圖,一定要設置行高,否則不走代理方法!【tableView.sectionHeaderHeight = 22;】。

在Xcode8正式版之前我們可以通過以上代碼設置sectionHeaderHeight,沒有問題。但是最近使用Xcode8.1時明明按照以上方法設置組頭的高度,返回組頭的代理方法還是不走,百思不得其解。忽然靈機一動,使用代理返回組頭高度試試:?

【- (CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section 】

使用代理方法設置組頭高度之后,此問題解決了(使用設置 預估組頭行高 的代理方法也可)…… ?就是這么怪異……

此問題解決,也希望能幫到遇到同樣問題的你!

PS:這里多說一句,就是在返回組頭的代理方法中,如果使用系統(tǒng)默認的組頭的textLabel,我們在設置字體的時候會不正常,所以這里盡量自定義組頭view。 -end

——共同進步!

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件,我們平時使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,297評論 3 38
  • 1.創(chuàng)建一個UITableView對象 ITableView *tableView = [[UITableView...
    桐生一貓閱讀 1,497評論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • 版權聲明:未經(jīng)本人允許,禁止轉載. 1. TableView初始化 1.UITableView有兩種風格:UITa...
    蕭雪痕閱讀 2,990評論 2 10
  • 如題。是那些知道你的底細和籌碼的對手嗎,當然這樣的談判對手很不好應付。但是,最可怕的就是這次合作對于他們來說可有可...
    FFChai閱讀 438評論 0 0

友情鏈接更多精彩內(nèi)容