问题描述
|
我创建了一个自定义的视图层次结构,该层次结构中的某个位置是一个UITableView,其出口名为“ 0”,因此我可以从后端代码访问它。
在该列表中的一个项目被选中时,我想创建一个新视图并将其推入根viewcontroller的视图堆栈,但是在UITableView上找不到任何相关事件。
所有控件都是使用.XIB文件中的“界面构建器”定义的
我看错地方了吗?
提前致谢。
解决方法
是的,您在寻找错误的位置。要使用UITableView的\“ events \”,您必须实现ѭ1并将其分配给表视图。最常见的方法是在表格视图的控制器中作为嵌套类:
private class MyTableSource : UITableViewSource
{
public override void RowSelected(UITableView tableView,NSIndexPath indexPath)
{
// Do something for the selected row
}
// Override both RowsInSection and GetCell methods!
}
然后,将MyTableSource类设置为表视图的Source属性:
myTableView.Source = new MyTableSource();
请注意,Objective-C中不存在UITableViewSource类。它只是一个MonoTouch类,同时包含UITableViewDataSource和UITableViewDelegate的方法,使事情变得简单得多。
,RowSelected事件发生在UITableViewSource中。