Anonymous
Как показать анимацию в другом контроллере?
Сообщение
Anonymous » 13 янв 2025, 20:53
Я хочу показать анимацию после открытия моего контроллера представления с изображением. Я использую для этого этот код, но анимация не работает в моем приложении:
контроллер просмотра
Код: Выделить всё
class ViewController: UIViewController {
lazy var button: UIButton = {
let button = UIButton()
button.backgroundColor = .darkGray
button.translatesAutoresizingMaskIntoConstraints = false
button.addTarget(self, action: #selector(show), for: .touchUpInside)
return button
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(button)
button.frame = CGRect(x: 500, y: 200, width: 100, height: 100)
}
@objc func show() {
let detailController = OnboardingController()
self.present(detailController, animated: true, completion: nil)
}
}
Код OnboardingController:
Код: Выделить всё
class OnboardingController: UIViewController {
private let imageView: UIImageView = {
let image = UIImageView()
image.image = UIImage(named: "1")
image.translatesAutoresizingMaskIntoConstraints = false
return image
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(imageView)
imageView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
imageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: -320).isActive = true
imageView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true
imageView.layer.removeAllAnimations()
imageView.transform = CGAffineTransformTranslate(.identity, 0, 0)
UIView.animate(withDuration: 1.0, delay: 0, animations: {
self.imageView.transform = CGAffineTransformTranslate(.identity, 320, 0)
}, completion: nil)
}
}
Как решить эту проблему?
Подробнее здесь:
https://stackoverflow.com/questions/793 ... controller
1736790820
Anonymous
Я хочу показать анимацию после открытия моего контроллера представления с изображением. Я использую для этого этот код, но анимация не работает в моем приложении: контроллер просмотра [code]class ViewController: UIViewController { lazy var button: UIButton = { let button = UIButton() button.backgroundColor = .darkGray button.translatesAutoresizingMaskIntoConstraints = false button.addTarget(self, action: #selector(show), for: .touchUpInside) return button }() override func viewDidLoad() { super.viewDidLoad() view.addSubview(button) button.frame = CGRect(x: 500, y: 200, width: 100, height: 100) } @objc func show() { let detailController = OnboardingController() self.present(detailController, animated: true, completion: nil) } } [/code] Код OnboardingController: [code]class OnboardingController: UIViewController { private let imageView: UIImageView = { let image = UIImageView() image.image = UIImage(named: "1") image.translatesAutoresizingMaskIntoConstraints = false return image }() override func viewDidLoad() { super.viewDidLoad() view.addSubview(imageView) imageView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true imageView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: -320).isActive = true imageView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0).isActive = true imageView.layer.removeAllAnimations() imageView.transform = CGAffineTransformTranslate(.identity, 0, 0) UIView.animate(withDuration: 1.0, delay: 0, animations: { self.imageView.transform = CGAffineTransformTranslate(.identity, 320, 0) }, completion: nil) } } [/code] Как решить эту проблему? Подробнее здесь: [url]https://stackoverflow.com/questions/79353022/how-to-show-animation-in-another-controller[/url]