调用UIButton也使用的方法?

时间:2009-08-27 16:06:37

标签: iphone objective-c uibutton

我有一个小型的iPhone应用程序,我已经创建了一个带有一些功能的按钮。我的问题是,如何在不实际按下它的情况下调用此按钮?

任何帮助将不胜感激!

由于

3 个答案:

答案 0 :(得分:4)

如果要激活按钮所连接的目标,可以调用:

[button sendActionsForControlEvents:UIControlEventTouchUpInside];

(TouchUpInside是您通常将按钮操作连接到的事件)。这样,如果为任何按钮添加或更改其他目标(比如调试),则不必更改代码。

这个方法是UIBontrol继承的UIControl,这就是你乍一看可能忽略它的原因......

答案 1 :(得分:2)

让你的按钮事件调用一个函数。您也可以自己手动调用该功能。

示例:

- (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];

答案 2 :(得分:1)

您的按钮不应具有功能,它应该只向目标发送消息(或调用方法,或调用函数......)。

您可以自由地将该消息发送给该目标。

e.g。按钮的目标插座连接到控制器上的IBAction。 IBAction只是一种形式的方法:

- (void) doSomething:(id)sender

在您自己的代码中执行:

[controller doSomething:self];

与按钮完全相同。