我想在代码中而不是在界面构建器中创建IBOutlet
和IBAction
。
我们说我的用户界面上有一个名为btnDisplay
的按钮,我的代码中有一个名为displayMessage
的方法。为了使btnDisplay
被点击,displayMessage
会运行,我必须编写哪些代码才能编写代码?
答案 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
}
也许这会对你有帮助。