在 iOS 開發中使用 UITableView 時,常會遇到一個問題:資料筆數較少,但表格卻顯示大量空白分隔線,影響視覺美感。本文介紹兩種簡單有效的解決方式,讓沒有資料的列不再顯示分隔線。
最直接的做法是將 tableView.tableFooterView 設為一個零尺寸的 UIView。這會告訴表格「沒有更多內容」,從而隱藏多餘的分隔線。
self.tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
只需一行程式碼,即可移除資料列之後的所有空白分隔線,適用於靜態與動態資料來源。
tableView:heightForFooterInSection: 回傳極小值若不想使用 Footer View,也可在 Delegate 中將區尾高度設為極小值(如 0.01),同樣能隱藏多餘分隔線:
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
return 0.01f;
}
注意:回傳 0 可能在某些 iOS 版本導致預設高度出現,建議用 0.01。
兩種方法皆能有效解決空白列顯示問題。方法一語意最清晰、程式碼最少,建議優先採用。若專案需自訂區尾樣式,再考慮方法二或客製化 Footer View。