Где ваша проблема
Задача 1
imageView = UIImageView(frame:CGRect(x: 10, y: 10, width: 10, height: 10))
imageView.image = UIImage(named:"2.png")
Здесь вы создали новый экземпляр представления изображения, который никогда не был добавлен в стек представления viewcontroller. Вы должны добавить это представление в стек. Эти строки кода не влияют на производительность анимации.
Задача 2
UIView.animate(withDuration: 5) {
self.imageView = UIImageView(frame:CGRect(x: 10, y: 10, width: 500, height: 500))
self.view.addSubview(self.imageView)
self.view.layoutIfNeeded()
}
}
Вы инициализировали другое изображение и добавили его в качестве подпредставления. Этот вид изображения не имеет изображения или фона, и в результате вы не видите ничего, что происходит на экране устройства. Вы не должны делать эти вещи здесь. Блок View.animate не нуждается в этих вещах. Немного вещей, которые вы должны узнать об анимации. Как работает анимация
Решение
Вместо этого попробуйте эти строки кода.
// initial frame
var frame:CGRect = CGRect(x: 10, y: 10, width: 10, height: 10)
// create imageview and add this into view stack
self.imageView = UIImageView(frame:frame)
self.imageView.image = UIImage(named:"2.png")
self.view.addSubview(self.imageView)
// set new height & width
frame.size.width = 500;
frame.size.height = 500;
// animate view
UIView.animate(withDuration: 5) {
self.imageView.frame = frame;
self.view.layoutIfNeeded()
}
Надеюсь, это сработает!