以编程方式创建IBOutlets和IBActions

时间:2014-06-04 04:03:06

标签: ios objective-c cocoa-touch ibaction iboutlet

我想在代码中而不是在界面构建器中创建IBOutletIBAction

我们说我的用户界面上有一个名为btnDisplay的按钮,我的代码中有一个名为displayMessage的方法。为了使btnDisplay被点击,displayMessage会运行,我必须编写哪些代码才能编写代码?

2 个答案:

答案 0 :(得分:10)

没有插座的方法就是在IB中给按钮一个标签,比如128.然后:

UIButton *btnDisplay = (UIButton *)[self.view viewWithTag:128];
[btnDisplay  addTarget:self action:@selector(pressedBtnDisplay:) forControlEvents:UIControlEventTouchUpInside];

然后执行:

- (void) pressedBtnDisplay:(id)sender {
}

答案 1 :(得分:0)

如果您使用IBOutlet ,则可以使用代码添加按钮。

UIButton *btnDisplay = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
[btnDisplay setTitle:@"display" forState:UIControlStateNormal];
[btnDisplay addTarget:self action:@selector(DisplayMessage:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnDisplay];

如果您使用IBOutlet,则必须根据您的要求在viewDidLoad或其他任何内容中添加以下代码

[btnDisplay addTarget:self action:@selector(DisplayMessage:) forControlEvents:UIControlEventTouchUpInside];

并实施此方法。

-(void)DisplayMessage:(id)sender
{
    //do what you want
}

也许这会对你有帮助。