[英]Accessibility of elements underneath the invisble part of cliptobound(ed) element
我有一個正方形的MKMapView
mainMap
,它的寬度等於iPhone屏幕的寬度。 我使用以下方法使其成為圓形:
mainMap.layer.cornerRadius = mainMap.frame.width/2
mainMap.clipsToBounds = true
現在,我有一個UIButton
在mapView
下方,並且僅部分可見。
這一切都很好,但是當我點擊按鈕時,點擊被mapView的不可見部分抓住了。
是否需要執行其他步驟以使mapView的不可見部分不干擾用戶界面?
您需要在背景視圖上覆蓋點擊測試( hitTest:withEvent:
。 您將調用super
,並且大多數時候您將返回它返回的任何內容。 但是,如果它返回地圖視圖,則將根據地圖視圖的框架檢查該點(第一個參數)並確定其是否在圓內-這很容易計算,因為CGPath具有CGPathContainsPoint
函數。 如果是,則返回super
給您的地圖視圖。 但是,如果不是,則返回nil
。 現在,觸摸將“掉線”到其背后的任何內容,如果是該按鈕,則該按鈕將受到點擊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.