class func animate(withDuration duration: TimeInterval,
animations: @escaping () -> Void,
completion: ((Bool) -> Void)? = nil)
UIView.animate(withDuration: 0.3, animations: {
// Animations
}) { finished in
// Compeleted
}
}) { finished in // yuck
Note: 후행 클로저가 무엇인지 확신하기 힘들다면, 그것이 무엇이고 어떻게 쓰이는지 설명해놓은 Swift: Syntax Cheat Codes라는 글을 보자.
[0, 1, 2, 4, 5, 6]
.sorted { $0 < $1 }
.map { $0 * 2 }
.forEach { print($0) }
Note: $0 문법이 이해가 안된다면, 그것이 무엇이고 어떻게 쓰이는지 설명해놓은 Swift: Syntax Cheat Codes라는 글을 보자.
UIView.animate(withDuration: 0.3,
animations: {
// Animations
},
completion: { finished in
// Compeleted
})
let animations = {
// Animate
}
let completion = { (finished: Bool) in
// Completion
}
UIView.animate(withDuration: 0.3,
animations: animations,
completion: completion)
UIView.Animator(duration: 0.3)
.animations {
// Animations
}
.completion { finished in
// Completion
}
.animate()
"장기적으로 시간을 단축시킬 것이다"
UIView.Animator(duration: 0.3)
.animations {
// Animations
}
.completion { finished in
// Completion
}
.animate()
func animations(_ animations: @escaping Animations) -> Self {
self.animations = animations
return self
}
func completion(_ completion: @escaping Completion) -> Self {
self.completion = completion
return self
}
let numbers =
[0, 1, 2, 4, 5, 6] // Returns Array
.sorted { $0 < $1 } // Returns Array
.map { $0 * 2 } // Returns Array
[0, 1, 2, 4, 5, 6] // Returns Array
.sorted { $0 < $1 } // Returns Array
.map { $0 * 2 } // Returns Array
.forEach { print($0) } // Returns Void
func animate() {
UIView.animate(withDuration: duration,
animations: animations,
completion: completion)
}
extension UIView {
class Animator { ... }
}
UIView.Animator(duration: 0.3, delay: 0, options: [.autoreverse])
UIView.SpringAnimator(duration: 0.3, delay: 0.2, damping: 0.2, velocity: 0.2, options: [.autoreverse, .curveEaseIn])
이 블로그는 공부하고 공유하는 목적으로 운영되고 있습니다. 번역글에대한 피드백은 언제나 환영이며, 좋은글 추천도 함께 받고 있습니다. 피드백은
- 블로그 댓글
- 페이스북 페이지(@나는한다번역)
- 이메일(canapio.developer@gmail.com)
- 트위터(@canapio)
으로 보내주시면 됩니다.
'Swift와 iOS > Advanced Swift' 카테고리의 다른 글
[번역]스위프트에서 동시성에대한 모든것-Part1 : 현재편 (0) | 2017.08.15 |
---|---|
[번역]문자열 보간법으로 즐겨보자 (0) | 2017.06.15 |
[번역]옵셔널 프로퍼티 (0) | 2017.06.13 |
[번역]스위프트에서 옳은 방법으로 실패 뽑아내기 (0) | 2017.06.12 |
[번역]언세이프 스위프트: 포인터를 사용해보고, C와함께 상호작용하기 (2) | 2017.06.07 |
WRITTEN BY
- tucan.dev
개인 iOS 개발, tucan9389