我有一个小的 iPhone 应用程序,我在其中创建了一个具有某些功能的按钮。我的问题是,如何在不实际按下它的情况下调用此按钮?
任何帮助,将不胜感激!
谢谢
我有一个小的 iPhone 应用程序,我在其中创建了一个具有某些功能的按钮。我的问题是,如何在不实际按下它的情况下调用此按钮?
任何帮助,将不胜感激!
谢谢
如果要激活按钮连接到的任何目标,可以调用:
[button sendActionsForControlEvents:UIControlEventTouchUpInside];
(TouchUpInside 是您通常会将按钮操作连接到的事件)。这样,如果为任何按钮(例如调试)添加或更改了其他目标,则不必更改代码。
这个方法在 UIControl 上,UIButton 继承自它,这就是为什么你乍一看可能忽略了它的原因......
让您的按钮事件调用一个函数。您也可以自己手动调用该函数。
例子:
- (void) btnFunction {
NSLog (@"test");
}
...
UIButton *btn1 = [UIButton buttonWithType:UIButtonRoundedRect];
// other code to set up button goes here
[btn1 addTarget:self action:@selector(btnFunction) forControlEvents:UIControlEventTouchUpInside];
您也可以自己调用该函数:
[self btnFunction];
你的按钮不应该有功能,它应该只是向它的目标发送一条消息(或者调用一个方法,或者调用一个函数......)。
您可以自行将该消息发送给该目标。
例如,您按钮的目标插座连接到控制器上的 IBAction。IBAction 只是以下形式的一种方法:
- (void) doSomething:(id)sender
在您自己的代码中执行以下操作:
[controller doSomething:self];
这与让您的按钮执行此操作完全相同。