2011-04-30 44 views
4

對於iPad應用程序我寫我有兩個子視圖是UIView的子類容器的UIView:iOS。如何啓用一個透明的圖像傳遞到它下面的UIButton?

  • 一個UIImageView,其圖像具有部分的它切掉,以揭示了什麼是它下面。
  • 通過UIImageView的切除部分顯示的UIImageView下方的UIButton。

由於UIImageView在空間上與UIButton重疊,因此即使UIButon由於UIImageView中的alpha遮罩切口而完全可見,也可以防止觸及到UIButton。我如何讓UIImageView傳遞給它的兄弟UIButton?

感謝,
道格

回答

4

的UIImageView通常不會阻止接觸,UIViews做。

您可以將重疊視圖上的userInteractionEnabled屬性設置爲NO,然後觸摸應通過它們。

另一種方法是編寫一個自定義的hitTest重定向到該按鈕。

+1

userInteractionEnabled = NO修正它。 Trivs。乾杯。 – dugla 2011-04-30 17:09:23

+0

在IB中有兩個「啓用用戶交互」框。這是屬性檢查器在「查看」下的一個,而不是可訪問性的。 – cloudsurfin 2013-07-31 01:13:06

0

除了巴斯蒂安的回答也有必要對我來說,取消在Interface Builder中Opaque繪圖屬性爲我UIImageView

0

即使用戶交互啓用,這是在Interface Builder放置一個UIImageView時的默認值,即使您的圖像視圖具有堅實的背景,觸摸也應該通過下方的按鈕。還有其他一些事情必須像坐在按鈕頂部的UIView一樣進行。

如果你正在嘗試做的更復雜的東西拿到觸摸通過對基礎視圖或單獨視圖控制器,其觀點是下面,我創造了這個簡單的開源庫:
https://github.com/natrosoft/NATouchThroughView
的REAMDE和演示秀如何使用它。