我有一個在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?對我來說似乎有點ha ish。 – Calvin 2010-06-02 03:31:31
它顯示不正確嗎?你能否直觀地看到細胞收縮? – 2010-06-02 17:02:53
不,但我有一個UIImageView(複選框)在那裏使用CGRectOffset()進行佈局。我計算框架的高度,以便可以定位它,然後在選中該行時更改圖像。但是當新的圖像出現時,它會自動向上移動1個像素。我可以通過添加一個像素來解決這個問題,但這看起來好像很駭人。也許我只是太緊張。 – Calvin 2010-06-02 17:14:21