Предполагая, что вы пишете код в контроллере представления для ваших настроек UIView, UIView правильно привязан к свойству view
вашего контроллера, и вы ссылаетесь на одну из кнопок с переменной button
, здесь что бы вы написали:
- (void)viewDidLoad {
[super viewDidLoad];
[button addTarget:self
action:@selector(buttonPressed)
forControlEvents:UIControlEventTouchUpInside];
}
- (void)buttonPressed
{
// do things here in response to the button being pressed
}
Другой способ написать этот метод - передать указатель на фактически нажатую кнопку, например:
- (void)viewDidLoad {
[super viewDidLoad];
[button addTarget:self
action:@selector(buttonPressed:) // note the extra colon here
forControlEvents:UIControlEventTouchUpInside];
}
- (void)buttonPressed:(id)sender
{
UIButton *buttonWhichWasPressed = (UIButton *)sender;
// now you can do things like hide the button, change its text, etc.
}
Вместо вызова addTarget:action:forControlEvents:
, однако, в Интерфейсном Разработчике ( вы должны делать это ) после определения метода buttonPressed
или buttonPressed:
, описанного выше, в файле .xib
с кнопкой перейдите на вторую вкладку в Инспекторе после нажатия кнопки (она должна называться «Связи кнопок») и перетащите событие Touch Up Inside в Владелец файла и выберите «buttonPressed» из списка.