изменение файлов в основном пакете не представляется возможным, см. предыдущий вопрос . Что вы можете сделать, так это сохранить в папках с изолированными приложениями, 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 .
Хорошо, я понимаю, что ты собираешься делать.
Прежде всего, аргумент длительности - это длительность каждой итерации анимации. Во-вторых, 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
}
}