聽說這是 iOS 7 的 bug。
我遇到的狀況就像圖中呈現的,在第二和第三個 cell 中間的分隔線不見了。 在 stackoverflow 查了一下,雖然操作法不太一樣,不過問題的根源應該是一樣的,就是 UITableView 在處理 select 事件的時候有問題,會導致分隔線消失。
在 stackoverflow 研究了一下,原來每個 separator 其實是屬於 UITableViewCell 的 subview,位置是在 cell 的底部,也就是說,以我的情況來說,是第二個 cell 的 separator view 不見了。
於是用下面的 code 強制顯現
UITableViewCell *cell = /* The cell with hidden separator*/
for (UIView *subview in cell.contentView.superview.subviews) {
if ([NSStringFromClass(subview.class) hasSuffix:@"SeparatorView"]) {
subview.hidden = NO;
}
}