簡體   English   中英

iOS按鈕可見,不可點擊

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM