Eu sei sobre UITableview: Como desativar a seleção para algumas linhas, mas não para outras e cell.selectionStyle = UITableViewCellSelectionStyleNone
, mas como faço para que uma célula (ou qualquer outra UIView
) apareça desativada (esmaecida) como abaixo?
uitableview
appearance
ma11hew28
fonte
fonte
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;
Uma extensão do Swift que funciona bem no contexto em que estou usando; sua milhagem pode variar.
Swift 2.x
Swift 3:
Agora é só ligar
myCell.enable(truthValue)
.fonte
Graças a @Ajay Sharma, descobri como fazer uma
UITableViewCell
aparência desabilitada:E então, para realmente desativar a célula:
fonte
Tente usar um pequeno truque:
Basta definir o alfa da célula. Coloque algumas condições como seus próprios requisitos e defina o alfa.
Se não funcionar, do jeito que você gostaria que fosse, use o segundo truque,
Basta tirar uma imagem do tamanho da célula com fundo cinza com Fundo transparente, basta adicionar essa imagem na imagem sobre o conteúdo da célula. Como isso:
Embora eu não tenha certeza sobre o caminho, mas isso certamente atenderá ao seu requisito. Isso dará uma espécie de ilusão na mente do usuário de que o celular está Desabilitado. Experimente usar esta solução. Espero que resolva o seu problema.
fonte
Excelente extensão de Kevin Owens, esta é minha correção para trabalhar com o Swift 2.x :
Swift 3:
fonte
Swift 4.X
Boa extensão de Kevin Owens, estou corrigindo o comportamento do celular.
Como chamar isso: -
cell.enable(on: switch.isOn)
fonte
Eu criei a seguinte extensão para Habilitar / Desabilitar UITableViewCell, é muito conveniente usá-lo. Crie a extensão UITableViewCell com "UITableViewCell + Ext.h" contendo o seguinte.
"UITableViewCell + Ext.m" contém o seguinte.
Como desativar o celular:
Como habilitar o celular:
Espero que ajude você.
fonte
para rápido
fonte