Hatena::Groupiphone-dev

noborunrunのiPhoneアプリ開発

公開中アプリ mStacks FilmTrackr PicTrackr
 | 

2012-10-02

iOS6になってMapKitのAnnotationViewの上にオーバーレイが出るようになった

15:45

iOS6のMapKit絡みでもう一個。

どうやら、MKMapViewの構造が変わってAnnotationViewとOverlayViewの位置が変わったみたい。

で、オーバーレイしてるとそのしたにアノテーションが表示されちゃう。

f:id:noborunrun:20121002153555p:image:left

iOS4・iOS

<MKMapView>

| <UIView>

| | <MKScrollView>

| | | <MKMapTileView>

| | | <MKAnnotationContainerView>

| <UIImageView>

iOS

<MKMapView>

| <UIView>

| | <VKMapView>

| | | <VKMapCanvas>

| | <MKScrollContainerView>

| | | <MKAnnotationContainerView>

| | | | <UIImageView>

| | | | <MKPinAnnotationView>

| <MKAttributionLabel>

調査の結果、オーバーレイはUIViewで作成してMapkitのViewにaddSubview:してた。

まぁ、そうなるよね。という結果でした。

ちなみにiOS6ではここに入れれば問題ない。

[mapView subviews] objectAtIndex:0] subviews] objectAtIndex:0] addSubview:self];

それ以前は今調べてるとこ。

 |