Как вызвать переход UIView на изображении UIButton снаружи кнопки? - PullRequest
0 голосов
/ 24 января 2019

Я хочу назвать этот UIView переход как изнутри, так и снаружи кнопки.Всякий раз, когда я пробую что-либо кроме sender после with:, я получаю Cannot convert vale to.... ошибки.Есть ли способ добиться этого?Спасибо!

@IBOutlet weak var someButton: UIButton!       
@IBAction func someButton(_ sender: UIButton) {

UIView.transition(with: sender, duration: 0.3, options: .transitionCrossDissolve, animations: {
    sender.setImage(UIImage(named: "My Image.png"), for: UIControl.State.highlighted)
}, completion: nil)

//...other functions

}

Ответы [ 3 ]

0 голосов
/ 24 января 2019

Сделайте так, как эта функция

func animation(sender: UIButton){
    UIView.transition(with: sender, duration: 0.3, options: .transitionCrossDissolve, animations: {
        sender.setImage(UIImage(named: "image.png"), for: .highlighted)
    }, completion: nil)
}

Позвоните, нажав на кнопку или в любое другое место, например:

animation(sender: sender)
0 голосов
/ 25 января 2019

Вы можете выполнить переход UIButton с помощью вызова firebase или какого-либо другого события, создав отдельную функцию, как показано ниже.Используйте UIButton outlet для доступа к кнопке.

@IBOutlet weak var someButton: UIButton!

func buttonTransition() {

    UIView.transition(with: sender, duration: 0.3, options: .transitionCrossDissolve, animations: {
        someButton.setImage(UIImage(named: "My Image.png"), for: UIControl.State.highlighted)
    }, completion: nil)
}

Таким образом, вы можете вызывать функцию buttonTransition() из любого места.

0 голосов
/ 24 января 2019

Я понял это; Я не использовал имя ViewController при назначении with: для кнопки UIB:

UIView.transition(with: ViewController().buttonName,....
...