Как я могу заменить изображение, находящееся внутри кнопки, текстом / заголовком, чтобы показать вместо изображения? - PullRequest
0 голосов
/ 19 января 2020

Обычно я пытаюсь настроить таймер, который начинает отсчитывать, как только я нажимаю на кнопку. Я установил изображение для кнопки, и я хотел бы, чтобы таймер заменил изображение и отобразил счетчик, но я не могу заставить изображение отклонить и чтобы текст занял его место. Вот некоторые соответствующие фрагменты ...

 timerImage.setImage(image1, for: .normal)
        timerImage.imageView?.contentMode = .scaleAspectFit
        timerImage.addTarget(self, action: #selector(timeClock), for: .touchUpInside)


        view.addSubview(timerImage)}


        //MARK: - Stopwatch
    @objc func timeClock(){
        timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(Action), userInfo: nil, repeats: true)
    }


    @objc func Action(){
        timerDisplayed += 1
        timerImage.titleLabel?.text = String(timerDisplayed)
    }

1 Ответ

1 голос
/ 19 января 2020

эй, проблема в timerImage.titleLabel, вы должны использовать timerImage.setTitle

class ViewController: UIViewController {

    @IBOutlet weak var labelText: UILabel!
    @IBOutlet weak var button: UIButton!
    var timer :Timer?
    var timerDisplayed: Int = 0

    override func viewDidLoad() {
        super.viewDidLoad()
        button.setImage(UIImage(named: "Challenges"), for: .normal)
              button.imageView?.contentMode = .scaleAspectFit
              button.addTarget(self, action: #selector(timeClock), for: .touchUpInside)
    }



        //MARK: - Stopwatch
    @objc func timeClock(){
        DispatchQueue.main.async {
            self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.Action), userInfo: nil, repeats: true)
            self.button.setImage(nil, for: .normal)
        }
    }


    @objc func Action(){
        DispatchQueue.main.async {
            self.timerDisplayed += 1
            self.button.setTitle(String(self.timerDisplayed), for: .normal)
        }
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...