Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] Botao nao mudando de cor

Oi pessoal, alguem pode me ajudar?

Fiz o curso mas meu botao nao muda como feito na aula 5 do modulo 4

import UIKit

class QuestaoViewController: UIViewController {
    var pontuacao = 0
    var numQuestao = 0
    
    @IBOutlet weak var tituloQuestaoLabel: UILabel!
    @IBAction func respostaBotaoPressionado(_ sender: UIButton) {
        
        let usuarioResposta = questoes[numQuestao].respostaCorreta == sender.tag
        if usuarioResposta {
            pontuacao += 1
            sender.backgroundColor = UIColor(red: 11/255, green: 161/255, blue: 53/255, alpha: 1)
        } else {
            sender.backgroundColor = UIColor(red: 211/255, green: 17/255, blue: 17/255, alpha: 1)
        }
        
        if numQuestao < questoes.count - 1 {
                numQuestao += 1
            Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(configurarQuestao), userInfo: nil, repeats: false)
                    configurarQuestao()
            }
        }
    @IBOutlet var botoesRespostas: [UIButton]!
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        configurarLayout()
        configurarQuestao()
        
    }
    
    
    @objc func configurarQuestao(){
        tituloQuestaoLabel.text = questoes[numQuestao].titulo
        for botao in botoesRespostas{
            let tituloBotao = questoes[numQuestao].respostas[botao.tag]
            botao.setTitle(tituloBotao, for: .normal)
            botao.backgroundColor = UIColor(red: 116/255, green: 50/255, blue: 255/255, alpha: 1)
        }
    }
    
    func configurarLayout(){
        tituloQuestaoLabel.numberOfLines = 0
        tituloQuestaoLabel.textAlignment = .center
        
        
        for botao in botoesRespostas{
            botao.layer.cornerRadius = 12
        }
    }
2 respostas
solução!

Olá! Posso ajudar com o problema que você está enfrentando. No trecho de código fornecido, parece que você está tentando alterar a cor de fundo do botão com base na resposta do usuário. Se o botão não está mudando de cor como esperado, pode haver algumas razões possíveis:

Verifique as conexões dos botões no Interface Builder: Certifique-se de que os botões de resposta estejam corretamente conectados aos outlets no Interface Builder. Verifique se você atribuiu corretamente a classe QuestaoViewController a partir da Interface Builder.

Verifique as configurações de cor: Verifique as configurações de cor que você está usando para definir o fundo do botão. Certifique-se de que os valores RGB estão corretos e a transparência (alpha) está definida como 1 para garantir que a cor seja totalmente visível.

Verifique o layout dos botões: Verifique se o layout dos botões está correto. Certifique-se de que os botões estão corretamente configurados com cantos arredondados usando botao.layer.cornerRadius = 12 no método configurarLayout().

Após verificar esses pontos, execute o aplicativo novamente para ver se as alterações de cor estão sendo aplicadas corretamente nos botões de resposta. Se o problema persistir, por favor, forneça mais detalhes ou mensagens de erro específicas que você esteja recebendo para que eu possa ajudar melhor.

Muito obrigada Gerson, me fez refazer os passos e eu achei o erro

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software