そこでこの「ボタン」だが、押すごとに矢印が上向き・下向きとアニメーションするようにしたいと思い調べた。以下は調べた時のメモ。
- 「UIControl」から継承したサブクラスにする。
- 「drawRect」メソッドでボタンの外観を描画。
- 今回は矢印だけをアニメーションさせたいので矢印はレイヤーに描画し、親のレイヤーに追加。(CGContextに描画だとボタン全体がアニメーションする)
- 矢印のレイヤーを指定するため「setValue:forKey:」を設定しておく。(「CaLayer」には「tag」のプロパティがないため。)
- ボタンが押された時は「endTrackingWithTouch:withEvent:」が呼ばれるので、そこで矢印のレイヤーを回転する。(回転するコードを書くと簡易アニメーションする)
これで「ボタン」も実装できた。