Swift - анимация ImageView

изменение файлов в основном пакете не представляется возможным, см. предыдущий вопрос . Что вы можете сделать, так это сохранить в папках с изолированными приложениями, URL-адреса которых можно получить следующим образом:

 func applicationDirectory(directory:NSSearchPathDirectory) -> NSURL? {

    var appDirectory:String?
    var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(directory, NSSearchPathDomainMask.UserDomainMask, true);
    if paths.count > 0 {
        if let pathString = paths[0] as? String {
            appDirectory = pathString
        }
    }
    if let dD = appDirectory {
        return NSURL(string:dD)
    }
    return nil
}



func applicationTemporaryDirectory() -> NSURL? {

    if let tD = NSTemporaryDirectory() {
        return NSURL(string:tD)
    }

    return nil

}

applicationTemporaryDirectory()

applicationDirectory(NSSearchPathDirectory.DocumentDirectory)

URL-адреса будут отображаться справа от игровой площадки, а затем просто скопировать и вставить в диалоговом окне Finder -> Go -> Go to Folder.

GitHub Repo: для полного рабочего примера см. это GitHub repo .

0
задан David Ruland 5 March 2019 в 17:23
поделиться

1 ответ

Хорошо, я понимаю, что ты собираешься делать.

Прежде всего, аргумент длительности - это длительность каждой итерации анимации. Во-вторых, UIView.animate (...) не повторяет анимацию, пока вы не добавите опцию .repeat к аргументу options.

Чтобы достичь чего-то более близкого к тому, что вы хотите, обновите код:

func blinkScreen()
    UIView.animate(withDuration: 1, delay: 0, options: [.repeat, .curveLinear], animations: {
        self.imageV.transform = CGAffineTransform(translationX: 0, y: -10)
    }) { _ in
        self.imageV.transform = .identity
    }
}

И если вы хотите анимировать движение вверх и вниз, используйте опцию .autoreverse (и, возможно, .curveEaseInOut) :

func blinkScreen()
    UIView.animate(withDuration: 1, delay: 0, options: [.repeat, .autoreverse, .curveEaseInOut], animations: {
        self.imageV.transform = CGAffineTransform(translationX: 0, y: -10)
    }) { _ in
        self.imageV.transform = .identity
    }
}
0
ответ дан l_priebe 5 March 2019 в 17:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: