iOS26的分割线比iOS18要粗很多
利用视图检查器发现,
iOS26的分割线高度为1,如下图:
但在
iOS18上高度是0.33,如下图:
如何解决呢,代码如下:
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.selectionStyle = .none
if #available(iOS 26.0, *) {
DispatchQueue.main.async {
cell.subviews.last?.frame.size.height = 1 / UIScreen.main.scale
}
}
}
为什么要用DispatchQueue.main.async,因为如果不用的话,获取到的cell.subviews.count == 3,利用DispatchQueue.main.async获取到的cell.subviews.count == 4, cell.subviews.last就是分割线了