回答編集履歴
1
1
answer
CHANGED
@@ -17,5 +17,17 @@
|
|
17
17
|
> func hitLayer(touch:UITouch) -> CALayer
|
18
18
|
|
19
19
|
の関数の実装を見直し、
|
20
|
-
view.layer.
|
20
|
+
view.layer.sublayersの中からMyShapeLayer型のものだけを抽出し(インスタンス①とします)、
|
21
|
-
その①のインスタンスに対してhitTest関数を呼び出し、ヒットしていることが判れば、①のインスタンスを選択レイヤーとして保持すれば期待通りの結果になるのではないかと思います。
|
21
|
+
その①のインスタンスに対してhitTest関数を呼び出し、ヒットしていることが判れば、①のインスタンスを選択レイヤーとして保持すれば期待通りの結果になるのではないかと思います。
|
22
|
+
|
23
|
+
以下疑似コードです。コンパイル通るかためしていませんが雰囲気だけでも伝われば。
|
24
|
+
|
25
|
+
```swift
|
26
|
+
for layer in view.layer.sublayers {
|
27
|
+
if let myLayer = layer as? MyShapeLayer {
|
28
|
+
if myLayer.hiiTest(...) != nil {
|
29
|
+
return myLayer
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
```
|