La selección UITableView cambió el evento en Monotouch

He creado una jerarquía personalizada de vistas, en algún lugar de esta jerarquía es una UITableView, con una salida llamada TableView , por lo que puedo llegar a ella desde el código de backend.

Quiero crear y enviar una nueva vista a la stack de vistas del controller de la vista raíz cuando se selecciona un elemento en esa list, pero no puedo encontrar ningún evento relevante en UITableView.

Todos los controles se definieron mediante el generador de interfaces en files .XIB

¿Estoy buscando en el lugar equivocado?

gracias por adelantado.

Sí, estás buscando en el lugar equivocado. Para usar los "events" de UITableView, debe implementar un UITableViewSource y asignarlo a la vista de tabla. La forma más común de hacerlo es en el controller de la vista de tabla como una class anidada:

 private class MyTableSource : UITableViewSource { public override void RowSelected(UITableView tableView, NSIndexPath indexPath) { // Do something for the selected row } // Override both RowsInSection and GetCell methods! } 

A continuación, establece la class MyTableSource en la propiedad Origen de la vista de tabla:

 myTableView.Source = new MyTableSource(); 

Tenga en count que la class UITableViewSource no existe en Objective-C. Es simplemente una class MonoTouch que aloja los methods UITableViewDataSource y UITableViewDelegate, haciendo las cosas mucho más simples.

El evento RowSelected ocurre en UITableViewSource.