0

我有这个类来创建日期源。如何UIViewController使用此类创建一个?

public partial class JogosSource : UITableViewSource {

    List<TableItem> tableItems; 
    string cellIdentifier = "TableCell";

    public JogosSource (List<TableItem> items)
    {
    }

    public override int RowsInSection (UITableView tableview, int section)
    {
    }

    public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
    {
    }

    public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
    {
    }
}
4

1 回答 1

1

我不太确定我是否理解你的问题。

UITableViewSource是一个类,它组合UITableViewDelegateUITableViewDataSource一个方便的类,包含两者的方法。

因此,如果您想使用该类,JogoSource在您的情况下,如 MT 文档中所写,您需要

将此对象的实例分配给 UITableView.Source 属性。

要创建UITableView元素,您可以遵循三种不同的方式:

  • 子类an UITableViewController(这个类有一个自己的表视图)

  • UIViewController使用自己的 XIB子类 a ,在主视图中拖动表格并将其与插座链接

  • 子类a UIViewController(带有自己的XIB,这是可选的),通过代码创建表

Source可以在ViewDidLoad方法中为您的表视图实例设置。例如,您可以确定插座设置正确。

this.YourTable = new JogoSource(yourItems);

简单的建议

通常,当您处理一个UITableViewSource类时,您还可以在其构造函数中注入“控制”该源的控制器。例如,这在您处理UINavigationController.

所以,我会改变JogoSourceas

public JogosSource (UIViewController injectedController, List<TableItem> items)
{
    // _controller is a private var of type UIViewController
    _controller = injectedController;
}

例如,如果您的控制器插入到 a 中UINavigationController,并且您需要在选择一行时显示一些详细信息,则通过_controller访问父级(的实例UINavigationController)。

PS 还有其他创建表格的可能性,但我列出了主要的。此外,检查代码,因为我是手写的。

希望有帮助。

于 2012-06-21T16:40:13.373 回答