自定义UITableViewCell问题

时间:2011-08-19 00:58:01

标签: objective-c cocoa-touch

我使用以下说明创建了一个自定义单元类: http://www.bdunagan.com/2009/06/28/custom-uitableviewcell-from-a-xib-in-interface-builder/

除了我有一个小问题外,一切都很顺利。单元格的背景图像的高度为100px。然而,当我启动应用程序时,似乎使用的是单元格的默认高度,大约是50px左右。我怎样才能解决这个问题?我的自定义单元格是从XIB加载的,在该XIB中,单元格的所需高度为100px,但它仍然在模拟器中使用默认高度。

4 个答案:

答案 0 :(得分:1)

rowHeight的实例上设置UITableView属性。它接受CGFloat

如果所有单元格的高度相同,则最好使用rowHeight属性而不是tableView:heightForRowAtIndexPath:委托方法。使用委托方法会产生滚动性能的成本。

self.tableView.rowHeight = 100.0f;

答案 1 :(得分:1)

您仍然需要从heightForRowAtIndexPath返回新的高度。

答案 2 :(得分:1)

在Table View Controller中,您需要覆盖heightForRowAtIndexPath并将高度设置为100.0px,如下所示:

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

答案 3 :(得分:1)

在界面构建器中或以编程方式更改UITableView(而不是自定义单元格)的行高。

http://developer.apple.com/library/iOS/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html

我认为你不必覆盖heightForRowAtIndexPath。同样基于http://iphoneincubator.com/blog/windows-views/the-right-way-to-set-the-height-of-tableviewcells,您将在不使用heightForRowAtIndexPath的情况下获得更好的性能。