[英]iOS Button Visible, Not Clickable
我在情節提要板上有一個視圖,默認情況下Alpha設置為0。在某些情況下,Swift文件將Alpha設置為1。因此無論是否隱藏。 在此視圖之前,僅包含2個標簽。 我正在嘗試向視圖添加2個按鈕。
由於某些原因,這些按鈕根本無法單擊。 因此,當您輕按它時,按鈕通常會在釋放前或按住按鈕時稍微改變顏色。 但是由於某種原因該行為不會發生,並且根本沒有調用連接到按鈕的功能。
似乎有些東西重疊或在按鈕上方是一個問題。 該按鈕是完全可見並啟用的,但所有內容均不可單擊。 我嘗試了Debug View Hierarchy
但是在該視圖中一切看起來都正確。
任何想法為什么會發生這種情況?
編輯我嘗試使用以下代碼制作一個類,並在界面生成器中將容器視圖設置為該類。
class AnotherView: UIView {
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
for view in self.subviews {
if view.isUserInteractionEnabled, view.point(inside: self.convert(point, to: view), with: event) {
return true
}
}
return false
}
}
使用hitTest(_:with:)
方法 。 當我們調用super.hitTest(point, with: event)
,超級調用返回nil,因為禁用了用戶交互。 因此,相反,我們檢查touchPoint是否在UIButton
,如果是,則可以返回UIButton
對象。 這會將消息發送到UIButton
對象的選擇器。
class AnotherView: UIView {
@IBOutlet weak var button:UIButton!
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
let view = super.hitTest(point, with: event)
if self.button.frame.contains(point) {
return button
}
return view
}
@IBAction func buttnTapped(sender:UIButton) {
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.