【ISSUE】カスタムクラスを使ったMKAnnotationをMapViewに表示させる

0

2024年12月23日 17:28

##追記(2016.03.06)
GitHubにコード公開しました。
https://github.com/black-sleepman/iPhone/tree/master/CustomAnnotationPin

##はじめに
mapviewを使ってるとpinの色や経緯度の他にもデータを乗せておきたい!みたいなことありますよね
そんなときは自分でクラス作っちゃいましょう!!

##MKAnnotationを継承したCustomAnnotationクラスの作成

img

上のサンプルはpinにDicrionaryとBoolの変数をもたせました。
変数は自分でも増やすことができるので自分の環境用に修正してください。

##MapViewにCustomAnnotationピンを表示させる
今回は複数のpinを表示させることを想定して書きます。
使いやすいように関数化して書きます。dataがArray型なのでfor - inを使って簡単に取り出す方法を採用しました。

img
##mapViewに表示するpinをカスタムする
mapViewに表示されるpinにボタンを追加したり、色を変えたりしてみます。
自分のclassにMKMapViewDelegateを追加してください
また、Delegateを追加することによってエラーが出てくることがあるので、下記の関数も追加してください。

img

##ポップアップボタンのアクション設定
ここではpinをタップしたときに出てくるポップアップに表示されているボタンを押した時のアクションを設定しています。
ボタンを押された時に画面遷移することも可能です。

img

##さいごに
これで一通り終了です。CustomAnnotationは名前を変えればいくらでも増やすことができます。
その際はクラスチェックしているswitch - case文を必要に応じて追加してください。
でわでわ!楽しい開発生活を!!
[cv:issue_marketplace_engineer]

0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。