【发布时间】:2013-09-20 14:12:46
【问题描述】:
我正在尝试为我的 iOS 应用创建一个放置在 Google Maps 的 mapView_ 上的 UISwitch,但它似乎不起作用。
具体来说,我先按照google的指导,创建了mapView_,然后把它变成了我的viewcontroller的view:
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,但它不起作用。为了确保代码能够正常工作,我尝试了普通测试视图控制器的普通视图(也就是说,不使用谷歌地图),它运行良好!
有人对这个问题有任何意见吗?
谢谢大家!
【问题讨论】:
-
可能地图正在吃掉所有的触摸事件......在mapView_里面有一个类GMSUISettingsView的子视图,尝试将开关添加到该视图,它可能会起作用(使用mapView_获取子视图列表。子视图,遍历所有子视图,然后选择正确的)。
-
@Raspu:我已经尝试过你的建议。然而,这个开关虽然出现了仍然不是不起作用。布雷特在下面的评论确实有效。非常感谢,我现在对 GMSUISettingsView 有了更多的了解:D
-
@tqn177:如果@Brett 的回答有效,请将其标记为正确。很高兴你学到了一些东西,并且你解决了你的问题!
标签: uiswitch google-maps-sdk-ios