1
resposta

Solução: Problema com os checkmarks

Olá, estava com uma dúvida em relação a uma aula em que utilizamos o atributo accessoryType de uma UITableViewCell. Percebi que já existia o tópico, porém, sem solução... Depois de algum tempo percebi que o problema não se dava por conta do código:

 // MARK: - UITableViewDelegate

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        guard let cell = tableView.cellForRow(at: indexPath) else { return }
        if cell.accessoryType == .none {
            cell.accessoryType = .checkmark
        } else {
            cell.accessoryType = .none
        }
    }

Notei que se eu mudasse o simulador para um Iphone diferente, o problema "desaparecia". Isso acontece, pois a resolução muda em distintos Iphones, portanto, a solução é alterar o StoryBoard, como no exemplo a seguir: Imagem do StoryBoard demonstrando que o TableView deve ser justificado à esquerdaAo fazermos isso, o problema é resolvido, pois em certas resoluções o check ficava para fora da tela. A maneira mais elegante de se fazer isso seria por meio de constraints, os quais ainda não tenho conhecimento aplicável. Seria excelente um complemento que indique uma solução que use constraints. Espero ter ajudado :)

1 resposta

Oi Ramon, tudo bem?

Muito obrigada por compartilhar sua solução conosco! É sempre muito importante compartilharmos nossos aprendizados e soluções para ajudar outras pessoas que possam estar passando pelo mesmo problema.

Sobre a sua dúvida em relação ao uso de constraints para resolver esse problema de layout, é uma ótima ideia! De fato, o uso de constraints é uma maneira mais elegante e flexível de definir o layout de uma tela em relação a diferentes tamanhos de dispositivos.

Um abraço e bons estudos.