UITableViewCell modifica el contenido de su jerarquía contentView cuando la celda está resaltada (el usuario toca la celda).Aclare el comportamiento no documentado de UITableViewCell en el evento resaltado
dos ejemplos que he encontrado hasta la fecha:
- poner un UIView en contentView de una celda con un color de fondo. El color de fondo de UIView se elimina cuando la celda de la tabla se resalta (aparentemente está configurada para tener un fondo claro).
- Ponga un UIButton en contentView. Cuando la celda está resaltada, el botón también se fuerza en el estado resaltado.
Es como si hay alguna lógica en la celda UITableView que inspecciona todos los puntos de vista de la jerarquía de la célula y se modifica de acuerdo a un conjunto de reglas misteriosos, a continuación, los restaura volver a la normalidad una vez que la célula es un-resaltado.
¿Alguien puede explicar qué y por qué UITableViewCell está modificando (inesperadamente y de manera no documentada) en los contenidos de mis celdas de vista de tabla personalizada?
Gracias!
Gracias, esto es solo una documentación parcial: no se analiza cómo las propiedades arbitrarias de UIView backgroundColor también se cambian para borrar, por lo que definitivamente es una explicación incompleta. Me gustaría obtener todas las cosas que cambia en la respuesta. Sin embargo, la solución a la que se vincula - implementando estados de resaltado/selección personalizados anulando setHighlighted: animated: y setSelected: animated: - me permite evitar por completo los cambios de resaltado mixto/no documentados al no llamar al supermétodo en las anulaciones y haciendo todo yo mismo – Yetanotherjosh