我有这个类来创建日期源。如何使用此类创建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)
{
}
}
答案 0 :(得分:1)
我不太确定我理解你的问题。
UITableViewSource
是一个将UITableViewDelegate
和UITableViewDataSource
组合成一个方便的类的类,其中包含两者的方法。
所以,如果你想在你的案例中使用那个类JogoSource
,你需要在MT doc中编写
将此对象的实例分配给UITableView.Source属性。
要创建UITableView
元素,您可以采用以下三种方式:
子类UITableViewController
(此类有自己的表视图)
使用自己的XIB对UIViewController
进行子类化,在主视图中拖动表格并将其与插座链接
子类UIViewController
(带有自己的XIB,可选),按代码创建表
可以在Source
方法中为表视图实例设置ViewDidLoad
。例如,您确定插座设置正确。
this.YourTable = new JogoSource(yourItems);
简单的建议
通常,当您处理UITableViewSource
类时,您还可以在其构造函数中注入“控制”该源的控制器。例如,当您处理UINavigationController
时,这可能很有用。
所以,我会将JogoSource
的ctr更改为
public JogosSource (UIViewController injectedController, List<TableItem> items)
{
// _controller is a private var of type UIViewController
_controller = injectedController;
}
如果您的控制器已插入,例如,在UINavigationController
中,您需要在选择行时显示一些详细信息,请通过_controller
访问父级({{1}的实例1}})。
P.S。还有其他创建表的可能性,但我列出了主要表。此外,检查代码,因为我手写。
希望有所帮助。