Быстрая анимация для «броска» изображения в центр экрана - PullRequest
0 голосов
/ 11 января 2019

Так что сегодня вечером я играл с анимацией и пытался закодировать ту, которую я имел в виду. Итак, у меня есть эти два UIImageViews в противоположных углах, и я хочу, чтобы они переместились в центр экрана (скажем, в течение двух секунд). Я не хочу, чтобы анимация была линейной, я хочу, чтобы это было движение траектории. Я попытался использовать структуру CGAffineTransformation для преобразования моих изображений, но я не думаю, что это было то, что я искал, потому что это линейное движение. Я работаю с анимацией всего пару часов и мало что знаю. Я знаю, что вы можете анимировать с помощью эффекта пружины, но как заставить изображение подпружиняться вертикально, а не горизонтально?

Я не уверен, есть ли простой способ создания этой анимации, или мне нужно создать физические свойства на изображениях и поработать с ними некоторое время. Если ничего из этого не ясно, вот изображение, которое могло бы помочь (извините за мои плохие навыки рисования MS, смеется). Таким образом, нижнее левое изображение - это красно-оранжевая дорожка, и я хочу, чтобы она выросла и достигла центра. Та же идея применима к верхнему праву (зеленый); Я в порядке с изображением, покидающим экран на долю секунды, как вы можете видеть.

enter image description here

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var theImage: UIImageView! //top right image
    @IBOutlet weak var profilepic: UIImageView! //bottom left image

    override func viewDidLoad() {
        super.viewDidLoad()
        UIView.animate(withDuration: 2.0) {
            //don't know what goes here
        }
    }
}

1 Ответ

0 голосов
/ 11 января 2019

Это поможет вам анимировать изображение в центре.

UIView.animate(withDuration: 1.0, animations: {

  //Your imageview
  self.imageView.center = CGPoint(x: self.view.frame.size.width/2, y: self.view.frame.size.height/2)

  self.imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]

 }, completion:nil)
...