2014-09-20 52 views
19

我們有一個UITableView,它對iOS7工作正常,但是當我在iOS8模擬器中嘗試時,我發現大多數單元格的單元格分隔符都不正確。奇怪的是,一些單元格正確顯示分隔符。UITableView在iOS8的某些單元格顯示錯誤位置處的分隔符

見附件圖像:

UITableView with wrong separator... sometimes!

我設置單元格高度是這樣的:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return 70.0f; 
} 

你知道發生了什麼事?謝謝!

編輯:

我在此期間使用一種解決方法是禁用分離器...

[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 

...,寫生,自己在小區視圖...

UIView* separator = [[UIView alloc] initWithFrame:CGRectMake(20, cellHeight-1, frame.size.width - 40, 1)]; 
    separator.layer.borderWidth = 1; 
    separator.layer.borderColor = [[UIColor grayColor] CGColor]; 
    [self addSubview:separator]; 

...但我不想這樣做。

+0

雖然這應該工作,你可以嘗試在TableView本身設置rowHeight屬性? – Sjors 2014-09-20 10:16:03

+0

謝謝,但設置'rowHeight'不會改變任何東西... :( – 2014-09-20 12:15:59

+0

你使用AutoLayout? – Sjors 2014-09-20 12:21:11

回答

55

我有同樣的問題,這裏是我如何解決它:

如果你正在使用你的表視圖中的自定義單元格可以去覆蓋layoutSubviews,你需要調用它是上海華盈的方法在的開始方法:

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 
    // Your implementation 
} 
+0

太棒了,這也是我的情況,謝謝! – 2014-09-26 20:49:01

+0

幫助我也謝謝:) – user1105951 2014-10-01 09:31:34

+0

一個愚蠢的錯誤的完美解決方案! – 2014-12-17 22:21:08

相關問題