3

我正在尝试为我的 iOS 应用程序创建一个放置在 Google Maps 的 mapView_ 上的 UISwitch,但它似乎不起作用。

具体来说,我首先按照google的指示,创建了mapView_,然后将其作为我的viewcontroller的视图:

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 改变。我什至尝试了不同的 UIControlEvent,例如 UIControlEventValueChanged,但没有成功。为了确保代码能够正常工作,我尝试了一个普通测试视图控制器的普通视图(也就是说,不使用谷歌地图),它运行良好!

有人对这个问题有任何评论吗?

多谢!

4

1 回答 1

5

您可以通过将 UISwitch 和 GMSMapView 添加到单个 UIView 父级来解决此问题,而不是将 UISwitch 添加为 GMSMapView 的子级。是的,这意味着您需要同时定位 GMSMapView 和 UISwitch。

于 2013-09-17T08:27:00.280 回答