回答編集履歴
1
回答を変更
answer
CHANGED
@@ -1,3 +1,26 @@
|
|
1
|
+
StackOverflow からの引用ほぼそのまま(メソッド名の書き換えのみ)ですが、下記の例の方が一時停止も再開もやりやすそうに感じました(初回の回答はアニメーションそのものを削除するため)。
|
2
|
+
|
3
|
+
- [Is there a way to pause a CABasicAnimation?](https://stackoverflow.com/questions/2306870/is-there-a-way-to-pause-a-cabasicanimation)
|
4
|
+
|
5
|
+
```Swift
|
6
|
+
func pauseAnimation(){
|
7
|
+
let pausedTime = layer.convertTime(CACurrentMediaTime(), from: nil)
|
8
|
+
layer.speed = 0.0
|
9
|
+
layer.timeOffset = pausedTime
|
10
|
+
}
|
11
|
+
|
12
|
+
func resumeAnimation(){
|
13
|
+
let pausedTime = layer.timeOffset
|
14
|
+
layer.speed = 1.0
|
15
|
+
layer.timeOffset = 0.0
|
16
|
+
layer.beginTime = 0.0
|
17
|
+
let timeSincePause = layer.convertTime(CACurrentMediaTime(), from: nil) - pausedTime
|
18
|
+
layer.beginTime = timeSincePause
|
19
|
+
}
|
20
|
+
```
|
21
|
+
|
22
|
+
###元の回答
|
23
|
+
|
1
24
|
アニメーションを完全に止めるのであれば、こんな感じでいかがでしょうか。
|
2
25
|
|
3
26
|
```Swift
|