Tengo una celda que estoy insertando en la parte superior de una UITableView. ¿Cómo puedo asegurarme de que cuando el usuario hace clic en la celda, no muestra el indicador azul seleccionado?¿Cómo hacer que una celda en un UITableView no se pueda seleccionar?
Respuesta
Ajuste el selection style of the UITableViewCell-UITableViewCellSelectionStyleNone
que puede hacer
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Falta un punto. Aquí está la versión fija: cell.selectionStyle = UITableViewCellSelectionStyle.None –
Para que sea completamente no seleccionable se requieren dos cosas:
1- Como otros dijeron:
cell.selectionStyle = UITableViewCellSelectionStyleNone;
2- Necesita implementar este método delegado:
// Called before the user changes the selection. Return a new indexPath, or nil, to change the proposed selection.
- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
if(cell.selectionStyle == UITableViewCellSelectionStyleNone){
return nil;
}
return indexPath;
}
Swift Sintaxis:
cell.selectionStyle = UITableViewCellSelectionStyle.None
implementar esta method de UITableViewDelegate
- (BOOL)tableView:(UITableView *)tableView shouldHighlightRowAtIndexPath:(NSIndexPath *)indexPath
{
return NO;
}
myTable.allowsSelection = false
actualización en Swift 3:
cell.selectionStyle = UITableViewCellSelectionStyle.none
Para Swift 3:
cell.selectionStyle = .none
Como se sugirió anteriormente "Esto no hace que la celda no se pueda seleccionar, solo significa que la apariencia visual de la celda no cambia cuando se selecciona. TableView: didSelectRowAtIndexPath : aún se invoca cuando se toca la celda. Para evitar realmente la selección, debe implementar tableView: willSelectRowAtIndexPath: en su UITableViewDelegate y devolver nil para las filas no seleccionables. - " – Siyavash
@Siyavash como se indicó en la pregunta original, esta persona solo quiere para ocultar "el indicador azul seleccionado". Eso no es lo mismo que querer hacerlo completamente no seleccionable. Simplemente, la persona que hace la pregunta solo intenta ocultar la indicación visual de una selección. –
de Swift 3 Puede utilizar
cell.isUserInteractionEnabled = false
puede agregar información – Kondal
acaba de pasar ese código en el método de tabla de celdaForRowAt indexPath, es simple –
este método es útil cuando desea inhabilitar la interacción del usuario en la vista de tabla; de lo contrario, puede usar el método compartir por el Sr. Ben Abajo –
- 1. ¿Cómo hacer que UITableView se pueda reorganizar?
- 2. ¿Cómo hacer que un JButton en una celda JTable pueda hacer clic?
- 3. Cómo hacer que un cuadro de texto no se pueda seleccionar con C#
- 4. ¿Cómo hago que un enlace no se pueda hacer clic?
- 5. ¿Hay alguna manera de hacer que el texto no se pueda seleccionar en una página HTML?
- 6. células UITableView no se pueden seleccionar
- 7. UISwitch en una celda UITableView
- 8. Cómo hacer que la celda se pueda editar dinámicamente en jqGrid
- 9. UITableView no se desplaza a la celda
- 10. Cómo hacer que cierto texto no se pueda seleccionar con CSS
- 11. ¿Cómo hacer que el div subyacente no se pueda cliquear?
- 12. ¿Cómo puedo hacer que un área no se pueda hacer clic en CSS?
- 13. JQGrid: establece dinámicamente una celda para que no se pueda editar según el contenido
- 14. ¿Cómo hacer que el botón no se pueda hacer clic después de hacer clic en él?
- 15. Cómo hacer que un LinearLayout pueda desplazarse
- 16. ¿Cómo "presionar" programáticamente una celda UITableView?
- 17. Cómo hacer que un elemento en una vista de lista no se pueda hacer clic en Android
- 18. seleccionar varias filas en UITableView
- 19. Al usar .net MVC RadioButtonFor(), ¿cómo se agrupa para que solo se pueda hacer una selección?
- 20. cómo obtener bordes redondeados en UITableViewCell de manera que el usuario pueda seleccionar el color de fondo de la celda? (Pero no se utiliza el modo AGRUPADOS)
- 21. ¿Cómo puedo hacer que un ComboBox no se pueda editar en .NET?
- 22. ¿Cómo hacer que una etiqueta de ancla vacía se pueda hacer clic en IE7?
- 23. UITableView agregar celda Animación
- 24. ¿Cómo hacer que una parte del texto se pueda hacer clic como botón en Android?
- 25. Cómo hacer que UIScrollView siempre se pueda desplazar
- 26. JQuery UI Complemento seleccionable: hacer que la barra de desplazamiento no se pueda seleccionar cuando div se desborda
- 27. Cómo hacer que una imagen del botón jQuery datePicker no se pueda cliquear
- 28. Cómo hacer que una función del complemento jQuery se pueda llamar para uso independiente, que no funcione en una colección
- 29. ¿Cómo hacer que mi ImageView pueda ampliarse?
- 30. ¿Cómo agregar un botón que se puede hacer clic en la celda de la tabla?
Esto no hace que la célula no seleccionable se solo significa que la apariencia visual de la celda no cambia cuando se selecciona. 'tableView: didSelectRowAtIndexPath:' todavía recibe llamadas cuando se toca la celda. Para evitar realmente la selección, necesita [implementar tableView: willSelectRowAtIndexPath:] (http: // stackoverflow.com/a/812921/172218) en su 'UITableViewDelegate' y devuelve nil para filas no seleccionables. –
Swift 3 - 'cell.selectionStyle = UITableViewCellSelectionStyle.none' – John