是否有方法以编程方式激发按钮单击事件?我有一个按钮放在一个 UIView,在一个特定的情况下,我想通过代码点击按钮,而不是手动作为一个用户。在 iOS 开发中这是可能的吗?请提供您的建议,并指导我如何做到这一点。
谢谢。
如果您正在谈论一个 UIButton,您可以只调用相同的方法,UIButton 正在调用当它被点击。例如:
[self myButtonsTargetMethod];
为什么不直接执行用户按下按钮时执行的代码呢?
-(void)myMethod { // do stuff } -(IBAction)myButtonClick:(id)sender { [self myMethod]; } -(void)clickMyButton { [self myMethod]; // OR [self myButtonClick:nil]; }
有点像肯的答案,但更灵活,因为它将保持轨道的按钮实际行动,如果你改变它们或添加一个以上。
[button sendActionsForControlEvents:UIControlEventTouchUpInside];
我也有同样的问题。我本来可以发表评论的,但我的名声还不够高。因此,我将转而发布完整的答案:
[btn setHighlighted:YES]; [btn sendActionsForControlEvents:UIControlEventTouchUpInside]; [btn performSelector:@selector(setHighlighted:) withObject:NO afterDelay:0.25];
这将以编程方式按下按钮并在看似正常的时间内高亮显示。里奇的建议没有起作用,因为按钮只是在不易察觉的时间内突出显示(如果有的话)。
是的,
[_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 是我创建的方法。