デリゲートがファイルの所有者に設定されたnibファイルのビューにmapViewがあり、アウトレットはIBOutlet MKMapView * mapViewに設定されています。
私が抱えている問題は、マップが他のすべてのオブジェクトの上にあることです。UIView を追加すると、マップの下にあるため表示されません。
なぜこれが起こるのでしょうか?私は前にこの問題を抱えていませんでした
ありがとう。
デリゲートがファイルの所有者に設定されたnibファイルのビューにmapViewがあり、アウトレットはIBOutlet MKMapView * mapViewに設定されています。
私が抱えている問題は、マップが他のすべてのオブジェクトの上にあることです。UIView を追加すると、マップの下にあるため表示されません。
なぜこれが起こるのでしょうか?私は前にこの問題を抱えていませんでした
ありがとう。
mkmapview にラベルやコントロールを追加する必要があるのはなぜですか。代わりに、そのデリゲートを使用してオーバーレイまたは注釈を追加できます。また、マップビューが画面全体に表示されるという問題がある場合は、そのフレームを設定してください。
その他の場合は、問題をより明確に説明してください。
私たちの議論によると、関数を使用できます:-
[self.view bringSubViewToFront:yourView];
答えは非常に簡単です。作成したオブジェクトをサブビューとして MapView に追加する必要があります。
たとえば、UILabel を MapView に追加する方法を次に示します。これをinitで行うだけです
- (void)viewDidLoad
{
[super viewDidLoad];
// Create the label
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 320)];
label.backgroundColor = [UIColor whiteColor];
label.text = @"I'm on top of the Map!";
// Add the label to the mapView
[self.mapView addSubview:label];
// Release the label if you are not using ARC
[label release];
}
編集: この概念は、UISegmentedControl などの他のオブジェクトにも適用されることに注意してください。
最も簡単な方法は、インターフェイス ビルダーで「Z」の順序を変更することです。ビューまたはその他の UI 要素を選択し、Editor メニューで Arrange を探します。そこにあなたが見つけるでしょう
前に送る
背面へ移動
転送する
後方に送ります