Создание программных продуктов IBOutlets и IBActions
Я хочу создать IBOutlet
и IBAction
в коде, а не с помощью построителя интерфейса.
Скажем, у меня есть кнопка в моем пользовательском интерфейсе под названием btnDisplay
и метод в моем коде под названием displayMessage
. Каким будет код, который я должен был бы написать, чтобы сделать так, чтобы при выполнении btnDisplay
выполнялся displayMessage
?
Ответы
Ответ 1
Способ сделать это без выходов - это дать кнопке тег в IB, скажем 128. Затем:
UIButton *btnDisplay = (UIButton *)[self.view viewWithTag:128];
[btnDisplay addTarget:self action:@selector(pressedBtnDisplay:) forControlEvents:UIControlEventTouchUpInside];
Затем реализуем:
- (void) pressedBtnDisplay:(id)sender {
}
Ответ 2
Если вы не, используя 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
}
Возможно, это поможет вам.