2013-03-29 92 views
1

在谷歌的iOS覆蓋UI映射

在頂部和底部覆蓋到的MapView視圖的兒童杆與ImageViews製成,按鈕和標誌是爲在這裏看到:

My view architecture

我的具體問題是,MapView吸走了所有觸摸事件,所以沒有按鈕正在工作。我已經通過在包含所有疊加控件的視圖上啓用用戶交互來解決它,但它禁用了與地圖的所有交互。我也嘗試將ui包裝在一個視圖中,這個視圖不能與兩個子視圖(包含酒吧)進行交互,這些子視圖以奇怪的表示錯誤和大量NSLog的約束錯誤結束。

關於如何正確實現此佈局的任何想法?如果用戶嘗試通過觸摸灰色酒吧來與它進行交互,則該地圖不應該起作用。

回答

2

看起來您擁有一個包含所有疊加元素的視圖,並且它位於地圖視圖之上,因此它將處理所有觸摸,而不是您的地圖視圖。

基於這種設計,我會做的是創建一個視圖,其中包含頂部和包含底部部分的視圖。然後,將它們放置在地圖視圖上方的位置,這樣會使中間的地圖視圖上方沒有視圖。

enter image description here

這裏你可以看到,綠色部分是「頂部覆蓋」和紫色部分是「底部覆蓋」,沒有涉及您希望您的用戶可以在地圖視圖的中間部分視圖能夠與之互動。

+0

您認爲這是唯一的方法嗎?我們的Android應用程序已經按照我們的設計意圖行事,所以我們真的很想在iOS上保持這種狀態。 – Machinarius

+0

這對用戶來說並不明顯,它是一個實現細節。爲什麼它如何實施?也許我誤解了這個問題。 –

+0

我指的是地圖在酒吧下的顯示效果如何,即使地圖在您拖拽的情況下也不會工作 – Machinarius