以编程方式点燃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的方法。