2012-09-18 31 views
0

我有一個UIButton,它有一個UILongPressGestureRecognizer連接到它。在禁用的UIButton上使用UILongPressGestureRecognizer

如果啓用該按鈕,我將接收來自gestureRecognizer的事件。
但是,如果該按鈕被禁用(即button.enabled = NO),我不會收到這些事件。

如果UIButton未啓用,有沒有辦法從UILongPressGestureRecognizer接收事件?

回答

0

有幾個選項:

  • 不要實際上禁用按鈕,只需設置一個標誌內部和在標誌爲假不進行按鈕操作。副作用是該按鈕仍然看起來像工作。

  • 在禁用按鈕的頂部創建另一個不可見外觀的按鈕。附加一個長按,以及。當您啓用可見按鈕時,禁用不可見按鈕,反之亦然。

  • 放長按父視圖中使用手勢代表,看它是否是你的按鈕的頂部:

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
    { 
        if (touch.view == theButton) 
        { 
         // Perform your action 
        } 
    } 
    
相關問題