Wie zeige ich eine Startanimation in uiview an?IOS

Programmierung für iOS
Guest
 Wie zeige ich eine Startanimation in uiview an?

Post by Guest »

Ich möchte eine Animation anzeigen, nachdem mein OnboardingController mit Container – Seite mit Bildansicht geöffnet wurde. Ich verwende dazu diesen Code, aber die Animation funktioniert in meiner App nicht:
Mein Code in der ViewController-Klasse:

Code: Select all

class ViewController: UIViewController {

lazy var button: UIButton = {
let button = UIButton()
button.backgroundColor = .darkGray
button.translatesAutoresizingMaskIntoConstraints = false
button.addTarget(self, action: #selector(setupViews), for: .touchUpInside)
return button
}()

override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(button)
button.frame = CGRect(x: 400, y: 100, width: 100, height: 50)
}

@objc func setupViews() {
let detailController = OnboardingController()
self.present(detailController, animated: true, completion: nil)
}

}
Mein Code in der OnboardingController-Klasse:

Code: Select all

class OnboardingController: UIViewController {

let container: UIView = {
let view = UIView()
view.backgroundColor = .blue
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
let views: Page = {
let view = Page()
view.backgroundColor = .red
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()

override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(container)
container.addSubview(views)

container.topAnchor.constraint(equalTo: view.topAnchor, constant: 0.0).isActive = true
container.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0.0).isActive = true
container.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0.0).isActive = true
container.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0.0).isActive = true

views.topAnchor.constraint(equalTo: container.topAnchor).isActive = true
views.bottomAnchor.constraint(equalTo: container.bottomAnchor).isActive = true
views.leadingAnchor.constraint(equalTo: container.leadingAnchor).isActive = true
views.trailingAnchor.constraint(equalTo: container.trailingAnchor).isActive = true
}

}
Mein Code in der Page-Klasse:

Code: Select all

class Page: UIView {

private let imageView: UIImageView = {
let image = UIImageView()
image.image = UIImage(named: "1")
image.translatesAutoresizingMaskIntoConstraints = false
return image
}()

override init(frame: CGRect) {
super.init(frame: frame)
addSubview(imageView)

imageView.topAnchor.constraint(equalTo: topAnchor).isActive = true
imageView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
imageView.leadingAnchor.constraint(equalTo: leadingAnchor, constant: -120).isActive = true
imageView.trailingAnchor.constraint(equalTo: trailingAnchor, constant: 0).isActive = true

self.imageView.transform = CGAffineTransformTranslate(.identity, 0, 0)
UIView.animate(withDuration: 7.0, delay: 0, animations: {
self.imageView.transform = CGAffineTransformTranslate(.identity, 120, 0)
}, completion: nil)
}

required init?(coder: NSCoder) {
fatalError("error")
}
}
Wie kann dieses Problem gelöst werden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post