我有一個100x600 UIView
坐在UIView
主ViewController
頂部。通常情況下,我想隱藏這個視圖。當用戶點擊幾個控件之一(包括主視圖)時,我取消隱藏子。主攻UIView
上的任何地方都會隱藏它。UITapGestureRecognizer迴應不正確的UIView
在viewDidLoad中,我有以下UITapGestureRecognizer:
let viewTouch = UITapGestureRecognizer(target: self, action: "viewClicked:")
self.view.addGestureRecognizer(viewTouch)
的viewClicked功能如下:
func viewClicked(gestureRecognizer: UIGestureRecognizer) {
handleDisplayOfDropdownView()
}
的handleDisplayOfDropdown功能是負責顯示和隱藏子UIView
。它所做的只是調整子視圖的alpha值,以使其可見或不可見。
func handleDisplayOfDropdownView() {
UIView.animateWithDuration(0.5, animations: {
if !self.dropDownVisible {
self.dropDownVisible = true
self.dropDownView.alpha = 1.0
}
else {
self.dropDownVisible = false
self.dropDownView.alpha = 0
}
})
}
所有的UI工作都由故事板完成。我只是在ViewController的頂部放置了一個100x600的視圖。它通過點擊主UIView而變得可見和隱藏。
我遇到的問題是,當我點擊它時,sub UIView
消失。當我設置了UITapGestureRecognizer
時,我發現主要的UIView
上只有一個水龍頭會激活並隱藏它。似乎在任何地方竊聽,包括sub UIView
都在隱藏它。
我是不是正確設置了UITapGestureRecognizer
?
您需要請檢查是否有在未來的觸摸點子視圖的框架與否。如果是隱藏它的子查看其他的取消隱藏。 – Amit89