2010-01-25 7 views
11

Estoy tratando de vincular el clic de un botón de accesorio en un UITableView a un método en una clase en particular. El accesorio está en múltiples celdas, creado en código, y por lo tanto no puedo hacer un simple enlace en el constructor de interfaces como lo estoy acostumbrado.iPhone UITableView - acción en el accesorio haga clic en

¿Cómo puedo vincular una flecha accesoria (desde el final de una celda en un UITableView) a un método?

Respuesta

29

Consulte el método tableView:accessoryButtonTappedForRowWithIndexPath: en el UITableViewDelegate.

+1

perfecto gracias. – oberbaum

+0

Este método no se invoca cuando se establece una vista de accesorio para la fila en indexPath. – commando24

0

Esto ya no es válido, Xcode indica una advertencia de que ahora está depreciado;

ADVERTENCIA: uso del diseño de celdas heredado debido a la implementación delegada de tableView: accessoryButtonTappedForRowWithIndexPath: in. Elimine la implementación de este método y configure las propiedades de la celda accessoryType y/o editingAccessoryType para pasar al nuevo comportamiento de disposición de la celda. Este método ya no se llamará en una versión futura. Ver aquí: https://developer.apple.com/documentation/uikit/uitableviewdelegate

+1

No se puede reproducir esto. No está marcado como obsoleto en la [https://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html](iOS developer-class-reference) y recibí una nueva advertencia. en Monodevelop (2.8.6.5, MonoTouch 5.2.5, Xcode 4.2.1) ya sea ... – basti

+0

Estoy de acuerdo con @chiffre. [UITableViewDelegate Protocol Reference] (https://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html) no muestra 'tableView: accessoryButtonTappedForRowWithIndexPath' como depreciado. –

+1

Es * Tapped *, no * Type * – kabiroberai

Cuestiones relacionadas