3

iOS アプリ用に Google マップの mapView_ に配置された UISwitch を作成しようとしていますが、うまくいかないようです。

詳細には、最初にGoogleの指示に従い、mapView_を作成してから、ビューコントローラーのビューにしました:

self.view = mapView_;

次に、プログラムで UISwitch を作成し、サブビューとして追加しました。

mySwitch = [[UISwitch alloc] initWithFrame:CGRectMake(50, 360, 0, 0)];
[mySwitch setBackgroundColor:[UIColor clearColor]];
[mySwitch addTarget:self
             action:@selector(changeSwitch:)
        forControlEvents:UIControlEventTouchDown];
[mapView_ addSubview:mySwitch];

しかし、シミュレータとデバイスの両方でスイッチに触れたとき、状態が ON->OFF または OFF->ON に変化しませんでした。UIControlEventValueChanged などの別の UIControlEvent も試しましたが、うまくいきませんでした。コードが機能することを確認するために、通常のテスト ビュー コントローラーの通常のビューを試してみました (つまり、Google マップを使用していません)。

この問題について誰かコメントはありますか?

ありがとうございます!

4

1 に答える 1

5

この問題を回避するには、UISwitch を GMSMapView の子として追加するのではなく、UISwitch と GMSMapView の両方を単一の UIView 親に追加します。はい、これは、GMSMapView と UISwitch の両方を配置する必要があることを意味します。

于 2013-09-17T08:27:00.280 に答える