Создание программных продуктов 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
}

Возможно, это поможет вам.