2012-03-05 96 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