2012-03-05 100 views
0

有沒有辦法取消了UIButton觸摸?我想象它是這樣的:IOS的​​UIButton觸摸取消

- (BOOL)shouldProcessTouch { 
    return NO; 
} 

你知道,在那裏你可以運行邏輯和的地方取消在某些情況下觸摸。有任何想法嗎?

**編輯**

對於那些熟悉基於事件的系統,我在尋找等價的: event.stopPropagation();

+3

爲什麼不直接在IBAction爲法檢查標記(或任何方法,當按鈕被按下時的稱呼)? – scord 2012-03-05 22:21:38

+0

@ scordova88我不確定你是什麼意思或如何去嘗試你說的話。你會爲我詳細解答嗎?可以嗎? – Jacksonkr 2012-03-05 22:48:53

+0

嘗試:youButton.touchesCancelled([],具有:無) – 2017-11-10 16:27:13

回答

2

在大多數情況下,觸摸時一個UIButton將調用的方法。它可能看起來像這樣:

-(IBAction)submitButtonPressed:(id)sender{ 

    if(shouldRespond){ 
     //do things normally 
    } 
    else{ 
     return; //do nothing 

    } 


} 

在此示例中,shouldRespond是您的標誌。你應該根據你擁有的任何條件來設置這個標誌。

編輯:標誌是布爾

1

爲什麼不只是把按鈕禁用狀態?

button.enabled = NO; 

或者禁止它的用戶交互:

button.userInterationEnabled = NO; 
+0

諷刺的是,我這是怎麼了東西以爲我能趕上觸摸到一個禁用的按鈕,但顯然不能,所以我不能設置按鈕了禁用: ( – Jacksonkr 2012-03-05 22:21:36

+1

你們是不是要關閉按鈕時,它的感動,後來重新啓用它?我不明白你爲什麼會想趕上上被禁用按鈕的觸摸。 – jsd 2012-03-05 22:34:17

+0

@jsd一些按鈕是有條件肘能。 – Jacksonkr 2012-03-06 16:10:59