2013-03-29 63 views
1

在谷歌的iOS覆盖UI映射

在顶部和底部覆盖到的MapView视图的儿童杆与ImageViews制成,按钮和标志是为在这里看到:

My view architecture

我的具体问题是,MapView吸走了所有触摸事件,所以没有按钮正在工作。我已经通过在包含所有叠加控件的视图上启用用户交互来解决它,但它禁用了与地图的所有交互。我也尝试将ui包装在一个视图中,这个视图不能与两个子视图(包含酒吧)进行交互,这些子视图以奇怪的表示错误和大量NSLog的约束错误结束。

关于如何正确实现此布局的任何想法?如果用户尝试通过触摸灰色酒吧来与它进行交互,则该地图不应该起作用。

回答

2

看起来您拥有一个包含所有叠加元素的视图,并且它位于地图视图之上,因此它将处理所有触摸,而不是您的地图视图。

基于这种设计,我会做的是创建一个视图,其中包含顶部和包含底部部分的视图。然后,将它们放置在地图视图上方的位置,这样会使中间的地图视图上方没有视图。

enter image description here

这里你可以看到,绿色部分是“顶部覆盖”和紫色部分是“底部覆盖”,没有涉及您希望您的用户可以在地图视图的中间部分视图能够与之互动。

+0

您认为这是唯一的方法吗?我们的Android应用程序已经按照我们的设计意图行事,所以我们真的很想在iOS上保持这种状态。 – Machinarius

+0

这对用户来说并不明显,它是一个实现细节。为什么它如何实施?也许我误解了这个问题。 –

+0

我指的是地图在酒吧下的显示效果如何,即使地图在您拖拽的情况下也不会工作 – Machinarius