Je connais UITableview: Comment désactiver la sélection pour certaines lignes mais pas pour d'autres et cell.selectionStyle = UITableViewCellSelectionStyleNone
, mais comment faire pour qu'une cellule (ou n'importe quelle autre UIView
d'ailleurs) apparaisse désactivée (grisée) comme ci-dessous?
uitableview
appearance
ma11hew28
la source
la source
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;
Une extension Swift qui fonctionne bien dans le contexte dans lequel je l'utilise; Votre kilométrage peut varier.
Swift 2.x
Swift 3:
Maintenant, c'est juste une question d'appeler
myCell.enable(truthValue)
.la source
Grâce à @Ajay Sharma, j'ai compris comment faire
UITableViewCell
apparaître un désactivé:Et puis, pour désactiver réellement la cellule:
la source
Essayez d'utiliser une petite astuce:
Définissez simplement l'alpha de la cellule. Mettez certaines conditions comme vos propres exigences et définissez l'alpha.
Si cela ne fonctionne pas, comme vous l'aimez alors, utilisez la deuxième astuce,
Prenez simplement une image de la taille de la cellule avec un fond gris avec un fond transparent, ajoutez simplement cette image dans l'image sur le contenu de la cellule. Comme ça:
Bien que je ne sois pas sûr du chemin, cela répondra sûrement à vos besoins. Cela donnera une sorte d'illusion dans l'esprit de l'utilisateur que la cellule est désactivée. Essayez simplement d'utiliser cette solution. J'espère que cela résoudra votre problème.
la source
Grande extension de Kevin Owens, voici ma correction pour travailler avec Swift 2.x :
Swift 3:
la source
Swift 4.X
Belle extension de Kevin Owens, je corrige le comportement de la cellule.
Comment appeler ça: -
cell.enable(on: switch.isOn)
la source
J'ai créé l'extension suivante pour activer / désactiver UITableViewCell, il est très pratique de l'utiliser. Créez l'extension UITableViewCell avec "UITableViewCell + Ext.h" contenant les éléments suivants.
"UITableViewCell + Ext.m" contient ce qui suit.
Comment désactiver la cellule:
Comment activer la cellule:
J'espère que cela vous aide.
la source
pour rapide
la source