Sé acerca de UITableview: cómo deshabilitar la selección para algunas filas pero no para otras y cell.selectionStyle = UITableViewCellSelectionStyleNone
, pero ¿cómo hago para que una celda (o cualquier otra UIView
) aparezca deshabilitada (atenuada) como se muestra a continuación?
uitableview
appearance
ma11hew28
fuente
fuente
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;
Una extensión Swift que funciona bien en el contexto en el que la estoy usando; Su experiencia puede ser diferente.
Rápido 2.x
Swift 3:
Ahora es solo cuestión de llamar
myCell.enable(truthValue)
.fuente
Gracias a @Ajay Sharma, descubrí cómo hacer que una
UITableViewCell
parezca deshabilitada:Y luego, para deshabilitar realmente la celda:
fuente
Intente usar un pequeño truco:
Simplemente configure el alfa de la celda. Pon alguna condición como tus propios requisitos y establece el alfa.
Si no funciona, como te gustaría, usa el segundo truco,
Simplemente tome una imagen del tamaño de la celda con un fondo gris con fondo transparente, solo agregue esa imagen en la imagen sobre el contenido de la celda. Me gusta esto:
Aunque no estoy seguro de la forma, esto seguramente cumplirá con su requisito. Esto dará una especie de ilusión en la mente del usuario de que la celda está Desactivada. Intente usar esta solución. Espero que eso resuelva su problema.
fuente
Gran extensión de Kevin Owens, esta es mi corrección para trabajar con Swift 2.x :
Swift 3:
fuente
Swift 4.X
Agradable extensión de Kevin Owens, estoy corrigiendo el comportamiento del celular.
Cómo llamar a esto: -
cell.enable(on: switch.isOn)
fuente
He creado la siguiente extensión para habilitar / deshabilitar UITableViewCell, es muy conveniente usarla. Cree la extensión UITableViewCell con "UITableViewCell + Ext.h" que contenga lo siguiente.
"UITableViewCell + Ext.m" contiene lo siguiente.
Cómo deshabilitar la celda:
Cómo habilitar la celda:
Espero que te ayude.
fuente
para rápido
fuente