UITableView选择在Monotouch中更改了事件

Tim*_*ote 4 iphone xib xamarin.ios ios

我创建了一个自定义的视图层次结构,在这个层次结构中的某个地方是一个UITableView,有一个名为的插座TableView,所以我可以从后端代码到达它.

我想在选择该列表中的项目时创建并将新视图推送到根视图控制器的视图堆栈,但我在UITableView上找不到任何相关事件.

所有控件都是使用.XIB文件中的"接口"构建器定义的

我在找错了地方吗?

提前致谢.

Dim*_*kos 10

是的,你在找错了地方.要使用UITableView的"事件",您必须实现a UITableViewSource并将其分配给表视图.最常见的方法是在表视图的控制器中作为嵌套类:

private class MyTableSource : UITableViewSource
{

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

        // Do something for the selected row

    }

    // Override both RowsInSection and GetCell methods!

}
Run Code Online (Sandbox Code Playgroud)

然后,将MyTableSource类设置为表视图的Source属性:

myTableView.Source = new MyTableSource();
Run Code Online (Sandbox Code Playgroud)

请注意,Objective-C中不存在UITableViewSource类.它只是一个MonoTouch类,它同时托管UITableViewDataSource和UITableViewDelegate的方法,使事情变得更加简单.