Код: Выделить всё
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let btn = UIButton.init(frame: CGRect(x: 100, y: 100, width: 100, height: 100));
btn.backgroundColor = UIColor.blue
btn.addTarget(self, action: #selector(testAction(_:animated:)), for: .touchDown)
view.addSubview(btn)
}
@objc func testAction(_ sender: UIButton,animated: Bool = true){
if sender.backgroundColor == UIColor.red {
sender.backgroundColor = UIColor.blue
}else{
sender.backgroundColor = UIColor.red
}
print("animated == \(animated)")
}
}

Как показано на рисунке, в тестовый проект добавляется кнопка. У метода есть параметры по умолчанию, но анимированный параметр выводится как false. Может кто-нибудь сказать мне, почему? Буду очень признателен.
Это системный баг? Я проверял это во многих сценариях.
Подробнее здесь: https://stackoverflow.com/questions/782 ... ake-effect
Мобильная версия