0

我按照教程创建了一个自定义单元格。

我在 Interface Builder 中创建了一个自定义单元格,如下所示: 在此处输入图像描述

在我的 ViewController 中,我添加了一个 UITableView 并将其绑定到数据:

myTable.Source = new ListSource();

ListSource 的 GetCell 方法:

public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
    { 
        // Reuse a cell if one exists 
        CustomListCell cell = tableView.DequeueReusableCell ("QCell") as CustomQuestionsListCell;

        if (cell == null)
        {  
            // We have to allocate a cell 
            var views = NSBundle.MainBundle.LoadNib ("CustomListCell", tableView, null); 
            cell = Runtime.GetNSObject (views.ValueAt (0)) as CustomListCell;
        } 

        return cell; 
    }  

问题是最后的显示是这样的:

在此处输入图像描述

似乎有某种重叠。任何想法为什么会发生这种情况?

谢谢!

4

2 回答 2

1

您需要将表格视图设置RowHeight为 IB 中的任何视图高度。这应该是myTable.RowHeight = ...

如果每行有不同的高度,则可以GetHeightForRow在委托中使用,但这要慢得多,导致表格视图在第一次渲染之前遍历所有单元格(因此它可以计算滚动高度)。

于 2013-04-19T00:12:59.643 回答
0

您需要为您在项目中使用的自定义单元设置 RowHeight。由于您没有提供任何 height ,因此 Table 将默认分配给 TableViewCell 。您提供的 RowHeight 应与 Interface Builder (IB) 中的相同。

于 2013-04-19T06:50:18.363 回答