He creado un UITableView
y me gustaría que un UITableViewCell
específico aparezca seleccionado (azul) cuando se carga la vista.¿Cómo selecciono una UITableViewCell por defecto?
Respuesta
utilizar el método de UITableViewCell
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
Información here.
¿Quizás el siguiente método sea mejor? http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UITableViewCell_Class/Reference/Reference.html#//apple_ref/occ/instm/UITableViewCell/setHighlighted:animated: –
¿qué método? el enlace no va a ningún método en particular – Daniel
O si lo usa, ese lo resalta y no lo selecciona, supongo que si eso es todo lo que quiere el asker, entonces seguro que es más adecuado – Daniel
Sea prudente con este método, ya que seleccionar la fila de este modo es algo que Apple suggests against está haciendo para mostrar un estado "elegido".
En su lugar, considere establecer la propiedad accessoryType
de la celda a algo así como UITableViewCellAccessoryCheckmark
.
Estoy tratando de replicar el uso de la UI de Apple cuando agrega/edite un evento en la aplicación Calendario y establezca una fecha/hora de inicio y finalización. Vi comentarios sobre la regla de la marca de verificación en otro lugar, pero no estoy seguro de si se aplicaría en este caso (la tabla se usa para diseñar componentes en lugar de presentar una lista de datos). – user119857
Ese es un punto interesante.En este caso, no es necesario que tengan una subvista para cada uno de los Inicio y Fin, ya que ambos representan el mismo tipo de datos, modificados por el mismo tipo de UIPickerView. Entonces eso representaría un uso juicioso. Probablemente utilicen el método selectRowAtIndexPath de UITableView: animation: scrollPosition: method ... see http://tinyurl.com/yd9zs65 –
Sin duda cuidado. Estoy seguro de que tiene una buena razón, pero observe detenidamente el documento de las Directrices de Interfaz Humana que proporciona Apple. Las aplicaciones son rechazadas por no eliminar las filas de la tabla. Te animo a que encuentres la sección apropiada de HIG y veas que Apple ofrece sugerencias.
-(void)viewWillAppear:(BOOL)animated {
// assuming you had the table view wired to IBOutlet myTableView
// and that you wanted to select the first item in the first section
[myTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]
animated:NO
scrollPosition:UITableViewScrollPositionTop];
}
estoy usando esta técnica para seleccionar uno de los dos UITableViewCells
por lo que los usuarios sabe qué celda un UIDatePicker
por debajo de la vista de tabla que afectará. Esta técnica es utilizada por Apple en la aplicación de calendario cuando crea un nuevo evento y establece las fechas.
1. esto no funciona para mí. 2. Apple dice que debe usar una marca de verificación para indicar el estado de selección de un artículo. –
Deberías ponerlo en viewWillAppear
.
[myTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]
animated:NO
scrollPosition:0];
Si intenta seleccionar en cellForRowAtIndexPath:
, entonces no va a tomar el estilo requerido.
A veces, cuando no está en un UIViewController
, no tiene viewWillAppear
y, a veces, creó el UITableView
mediante programación.
La solución fácil es poner en práctica este método delegate
:
- (void)tableView:(UITableView *)tableView
willDisplayCell:(UITableViewCell *)cell
forRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.selectedIndex == indexPath.row) {
cell.selected = YES;
}
}
Es que no funciona en la cellForRowAtIndexPath
porque la célula aún no se visualiza. y se llama al método setSelected
justo cuando este se muestra.
Usa este código para seleccionar la celda por defecto en la vista de tabla, indexPath
puede ser varían de acuerdo a su necesidad
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSIndexPath *indexPath=[NSIndexPath indexPathForRow:0 inSection:0];
[theTableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom];
}
- 1. ¿Cómo selecciono una opción del menú Django ModelForm por defecto?
- 2. Cómo hacer una falsa opción por defecto
- 3. ¿Qué devuelve una función php por defecto?
- 4. ¿Cómo selecciono una opción mediante prototipo
- 5. RadioButtonList marcada por defecto
- 6. ¿Cómo puedo obtener uitableViewCell por indexPath?
- 7. ¿Cómo secuela una subclase de UITableViewCell?
- 8. parámetros por defecto C#
- 9. Mongoose asincrónico por defecto
- 10. ¿cómo selecciono una columna según la condición?
- 11. ¿Cómo selecciono una única revisión en Mercurial?
- 12. "una estructura tiene herencia pública por defecto"
- 13. por defecto una columna con cadena vacía
- 14. creando una lista por defecto en python
- 15. por defecto en C#
- 16. C argumentos por defecto
- 17. Cómo importar una clase de paquete por defecto
- 18. ¿Cómo conectar un plugin maven a una fase por defecto?
- 19. emulador por defecto Android
- 20. Cómo configurar JqGrid por defecto para colapsar
- 21. Cómo configurar por defecto vim Colorscheme
- 22. WPF Encuadernación modo por defecto
- 23. parámetros por defecto en C++
- 24. Girar una UITableViewCell personalizada
- 25. Django - Generar babosa por defecto
- 26. cómo cambiar por defecto enviado por: Dirección de correo php()
- 27. Herencia por defecto de Python?
- 28. valores por defecto servicio WCF
- 29. IE8 ¿Representando IE7 por defecto?
- 30. Cómo dibujar una línea en UITableViewCell
Ver esta pregunta: http://stackoverflow.com/questions/19295297/uitableviewcell- set-selected-initial/25128427 # 25128427 –