Итак, я делаю первую страницу для моего приложения.Я перехожу к следующему экрану с таймером.Однако мой вопрос о моей первой странице.Когда я запускаю приложение, я хочу, чтобы изображение, которое я использую, появилось сразу.Я даже не уверен, если это вариант.потому что все приложения, которые я вижу, при запуске требуют некоторого времени для загрузки.Мне было интересно, является ли это причиной задержки появления изображения, или я могу сделать что-то, чтобы оно появилось мгновенно?Я приложил мой код ниже:
import UIKit
class LaunchViewController: UIViewController {
override func viewWillAppear(_ animated: Bool) {
}
override func viewDidLoad() {
super.viewDidLoad()
let gameTimer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(runTimedCode), userInfo: nil, repeats: false)
}
override func viewDidAppear(_ animated: Bool) {
let imageView = UIImageView()
imageView.image = UIImage(named: "image1")
self.view.addSubview(imageView)
imageView.fadeOut()
imageView.contentMode = .scaleAspectFit
imageView.translatesAutoresizingMaskIntoConstraints = false
imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
imageView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
imageView.topAnchor.constraint(equalTo: view.topAnchor,constant:20).isActive = true
imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor,constant:30).isActive = true
imageView.trailingAnchor.constraint(equalTo: view.trailingAnchor,constant:10).isActive = true
imageView.leadingAnchor.constraint(equalTo: view.leadingAnchor,constant:10).isActive = true
}
@objc func runTimedCode()
{
self.performSegue(withIdentifier: "fromLaunch", sender: self)
}
}
extension UIView {
func fadeIn(){
UIView.animate(withDuration: 3.0, delay: 0.0, options: UIView.AnimationOptions.curveEaseIn, animations: {
self.alpha = 1.0
}, completion: nil)
}
func fadeOut(){
UIView.animate(withDuration: 2.0, delay: 1.0, options: UIView.AnimationOptions.curveEaseOut, animations: {
self.alpha = 0.0
}, completion: nil)
}
}