■
MKAnnotationとMKAnnotationViewの自分のカスタムクラスを作っているところ。
一つ目詰まったところ。
これが結構難しいのです。自分のAnnotationViewクラスにこれまたカスタムなImageViewクラスを追加するんだけど、addSubviewを追加したところで表示されないのです。困ったものだ。で、結局カスタムなImageViewクラスのinitの最初のほうに次のコードを追加したら問題が解決しました。
// これが結構重要らしい。 if (!(self = [self init])) { return nil; }
これはいったいなんなんだろうか。
これは、UIImageViewを継承しているんだけど、このおまじないがないと継承したクラスの初期化(init)ができない。だから表示されなかったようです。基本ですね。忘れないようにしよう。本当は[super init]ではないのかな?って感じだけど。
二つ目詰まっているところ
例のカスタムなImageViewクラスにUITextFieldを追加したんですけど、クリックしてもなんにも反応ないっす。どうしたものだろうか。
クリックあたりは結構難しいですねぇ。
なんとなくわかってきた。親のカスタムAnnotationViewの領域よりもはみ出した領域にImageViewを入れているんで、そうなるのかも。
親からはみ出しているんでなにもないところ触ってるようなものだな。