【发布时间】:2013-05-02 11:35:44
【问题描述】:
我只需要以编程方式触发 UIButton 。我看过很多帖子比如http://stackoverflow.com/questions/5625651/programmatically-fire-button-click-event
[btnLocations sendActionsForControlEvents:UIControlEventTouchDown];
此语句在“viewDidLoad”和另一个按钮处理程序中工作正常。
-(void)viewDidLoad
{
[btnName2 sendActionsForControlEvents:UIControlEventTouchDown];
}
&&&&&&&
- (IBAction)btnName1:(id)sender {
[btnName2 sendActionsForControlEvents:UIControlEventTouchDown];
}
这很好用。但为什么它不是从用户定义的方法触发。 像这样:
-(void) myMEthod
{
if(true)
{
[btnName2 sendActionsForControlEvents:UIControlEventTouchDown];
}
}
简单的一个。但我没有得到原因
我只需要知道为什么它没有发生?以及实现它的任何替代方案?
谢谢。
【问题讨论】:
-
用户定义的方法是从主线程调用的吗?如果没有,则需要执行 performSelectorOnMainThread,因为 UI 事件必须在主线程上运行。
-
@MikeM : 如何从 mainThread 调用。基本上它只发生在 MainThread 但我不确定\。
-
是否进入 if(true){} 块??
-
是的,工作正常。
-
我正在实现“myMethod”的功能,除了这个语句。