以编程方式点燃button点击事件?

有没有办法编程启动button单击事件? 我有一个button放置在一个UIView,并在特定的情况下,我想通过代码点击button,而不是手动作为用户。 在iOS开发中可能吗? 请提供您的build议,并指导我如何做到这一点。

谢谢。

有点像肯的答案,但更灵活,因为它会跟踪button的实际行动,如果你改变他们或添加多个。

[button sendActionsForControlEvents:UIControlEventTouchUpInside]; 

我有同样的问题,如上所述。 我会发表评论,但我的声誉还不够高。 所以,我会改为发表完整的答案:

 [btn setHighlighted:YES]; [btn sendActionsForControlEvents:UIControlEventTouchUpInside]; [btn performSelector:@selector(setHighlighted:) withObject:NO afterDelay:0.25]; 

这将以编程方式点击button并突出显示一个看似正常的时间。 里奇的build议没有起作用,因为button只是突出显示(如果有的话)一个不可察觉的时间。

为什么不只是执行用户按下button时执行的代码呢?

 -(void)myMethod { // do stuff } -(IBAction)myButtonClick:(id)sender { [self myMethod]; } -(void)clickMyButton { [self myMethod]; // OR [self myButtonClick:nil]; } 

如果你正在讨论一个UIButton,你可以调用与UIButton被点击时调用的方法相同的方法。 例如:

 [self myButtonsTargetMethod]; 

是,

 [_button setHighlighted:YES]; [_button sendActionsForControlEvents:UIControlEventTouchUpInside]; [_button setHighlighted:NO]; 

但是这里的问题是你不能看到这些事件,因为它太快了。 所以你可以做的是用NSTimer尝试上面的代码。

 NSTimer *quick = [NSTimer scheduledTimerWithTimeInterval:2.5 target:self selector:@selector(MeFirst:) userInfo:nil repeats:NO]; 

MeFirst是我创build的方法。