2010-06-02 43 views
0

我有一個在tableView:cellForRowAtIndexPath:中創建的UITableViewCell。在這種方法我稱之爲:UITableViewCell在didSelectRowAtIndexPath中比cellForRowAtIndexPath短1px更新:

UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease]; 
NSLog(@"Cell height: %f", cell.contentView.frame.size.height);

這給我的44.000000返回值。

然後在我的tableView:didSelectRowAtIndexPath:方法,我稱之爲:

UITableViewCell *cell = [tableView cellForRowAtIndexPath: indexPath]; 
NSLog(@"Cell height: %f", cell.contentView.frame.size.height);

這給我的43.000000返回值。他們不是同一個單元嗎?是什麼賦予了?

回答

1

我會把這一塊塞滿蘋果公司幕後的突出魔法。

+0

任何想法如何讓它顯示正確嗎?除了在第二個高度添加1?對我來說似乎有點ha ish。 – Calvin 2010-06-02 03:31:31

+0

它顯示不正確嗎?你能否直觀地看到細胞收縮? – 2010-06-02 17:02:53

+0

不,但我有一個UIImageView(複選框)在那裏使用CGRectOffset()進行佈局。我計算框架的高度,以便可以定位它,然後在選中該行時更改圖像。但是當新的圖像出現時,它會自動向上移動1個像素。我可以通過添加一個像素來解決這個問題,但這看起來好像很駭人。也許我只是太緊張。 – Calvin 2010-06-02 17:14:21

0

這可能是由於分隔符。你看過嗎?

相關問題