FC2ブログ

MKAnnotationView Class Reference メモ

MKAnnotationView Class Reference メモ

概要

MKAnnotationViewクラスはマップビューで視覚的に注釈を提示する責任がある。
注釈ビューが緩くMKAnnotationプロトコルに対応するオブジェクトで対応する注釈
オブジェクトに結合されている。注釈の座標点が可視領域にあるときには、
マップビューには、対応する注釈ビューを提供するために、その委任を要求します。
注釈ビューは、後で再利用とマップビューによって維持されている再利用キューに入れられるかもしれません。

重要:iOSの5.1以前のバージョンでは、マップKitフレームワークは、地図データを提供するために、
Googleモバイルマップ(GMM)のサービスを使用します。このフレームワークの特定のクラス
(およびそれらに関連付けられたインターフェイス)を使用することにより、サービスのGoogle
モバイルマップの条項に従うものとします。あなたはhttp://code.google.com/apis/maps/iphone/terms.htmlで
サービスのこれらの用語を見つけることができます。

注釈ビューのコンテンツを提供するために最も効率的な方法は、そのイメージのプロパティを設定することです。
注釈ビューのサイズ自体が自動的に画像に次のように指定し、その内容にそのイメージを描画します。方法を、
手動でビューのコンテンツを描画する:それはビューであるため、しかし、あなたはまたのdrawRectをオーバー
ライドすることができます。あなたのdrawRectを上書きすることを選択した場合:直接、あなたがイメージプ
ロパティでカスタムイメージを指定しないと、アノテーションビューのフレームの幅と高さは、デフォルトで
0に設定されていることに注意してください。カスタムコンテンツが描画される前には、ビューのframeプロ
パティを変更することにより、ゼロ以外の値に幅と高さを設定する必要があります。あなたのコンテンツは
静的な画像だけで構成されている場合、一般的に、それはイメージプロパティを設定し、それはのような画
像を自分で描画するよりも、必要に応じて変更する方が効率的です。
注釈ビューは、関連付けられている注釈オブジェクトで指定された時点でマップに固定されたまま。
これらのオプションは、マップの内容をスクロールしますが、注釈ビューは、別の表示層に存在し、
ときに可視マップ領域のサイズが変更縮小されていません。
注釈ビューは、ビューが選択されていないかどうか、選択、または選択され、標準のビューを吹き出し
表示を決定する選択状態の概念をサポートしています。ユーザーは注釈ビューとの相互作用を介して
選択状態が切り替わります。選択されていない状態では、注釈ビューが表示されますが、強調表示されません。
選択された状態では、注釈は、強調表示されますが、吹き出しが表示されません。そして最後に、注釈、
ハイライトの両方を表示され、吹き出しすることができます。吹き出しビューには、より多くの情報を表示
するためのタイトル文字列やコントロールなどの追加情報が表示されます。タイトル情報は注釈オブジェクト
によって提供されるが、あなたの注釈ビューは、任意のカスタムコントロールを提供する責任があります。
詳細については、サブクラスノートを参照してください。

注釈ビューの再利用
注釈ビューをユーザとして再利用されるように設計されて(またはアプリケーション)の可視マップ領域が変更されます。
注釈ビューの再利用は、今回の重要な操作中に新しいビュー·オブジェクトの作成を回避することによって、スクロール
中に大幅なパフォーマンス向上を提供します。このような理由から、注釈ビューはしっかりそれに関連付けられた注釈
の内容に結合されるべきではない。代わりに、それは新しい注釈オブジェクトのビューを設定するために注釈ビューの
プロパティ(またはsetterメソッド)を使用することが可能でなければなりません。
新しい注釈ビューを初期化するたび、あなたは常にそのビューの再利用識別子を指定する必要があります。注釈ビュー
が不要になっているので、マップビューは再利用キューにそれらを置いてもよい。新しい注釈がマップビューに追加さ
れたように、デリゲートオブジェクトは、デキューおよび再dequeueReusableAnnotationViewWithIdentifierを
使用して、既存のビュー(新しいものを作成するのではなく)ことができます:MKMapViewの方法。

サブクラス化ノート
であるか、またはサブクラス、必要に応じてそれがカスタム動作を提供するようにMKAnnotationViewクラスを使用できます。
クラスのimageプロパティは、直接サブクラス化せずに注釈ビューの外観を設定することができます。また、利便性のカスタム
サブクラスを作成して、既知の状態で注釈ビューを配置するためにそれらを使用するかもしれません。たとえば、
MKPinAnnotationViewサブクラスはピンのイメージに注釈ビューの内容を初期化します。
MKAnnotationViewをサブクラス化するための特別な要件はありません。ただし、次のリストでは、サブクラス化して、
目的の動作を実装するためにオーバーライドするメソッドの一部にしたいかもしれないいくつかの理由が含まれています。

一貫性のある状態に注釈ビューを配置するには、カスタムの初期化メソッドを提供します。 reuseIdentifier:
カスタム初期化メソッドは、次にinitWithAnnotationを呼び出すと、スーパークラスを初期化する。
カスタム吹き出しビューを提供するために、leftCalloutAccessoryViewメソッドをオーバーライドし、
ビューを返すためにそれを使用します。
あなたは、iOS4.0のドラッグ注釈ビューをサポートして以降では、あなたのサブクラスは、ドラッグ操作のキー変化点で
適切な値にdragStateプロパティの値を変更するための責任がある場合。詳細については、そのプロパティの説明を参照
してください。
スポンサーサイト
姉妹サイトだよ! よかったらみてね!

コメントの投稿

非公開コメント

twitter
twitter アカウント @drum_kuroneko 気軽にフォローしてください。
誰でも簡単に開発ができます!!
人気ナンバー1
自己紹介

yuutyan0205

プロガー:yuutyan0205
きままな自由人です。

たまにプログラミングを行っています。

仕事ください・・・

開発者アプリ一覧 気になったらダウンロードしてください。
開発環境おすすめ
カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最新記事
月別アーカイブ
カテゴリ
アクセスランキング
[ジャンルランキング]
コンピュータ
935位
アクセスランキングを見る>>

[サブジャンルランキング]
マック
50位
アクセスランキングを見る>>
訪問者数
現在の訪問者数
現在の閲覧者数:
全記事表示リンク

全ての記事を表示する

相互リンク希望の方とご質問ある方ご連絡ください。

名前:
メール:
件名:
本文: