Вы должны добавить IBOutlet
к кнопке, как вы сделали для текстового поля и метки:
@property (weak, nonatomic) IBOutlet UITextField *textField;
@property (weak, nonatomic) IBOutlet UILabel *label;
@property (weak, nonatomic) IBOutlet UIButton *button; // Don't forget to link to this from Interface Builder
// ...
Затем вы можете удалить кнопку, используя:
[button removeFromSuperview];
Также обратите внимание, что учебник, на который вы ссылались, говорит:
Параметр отправителя в методе действия относится к объекту, который отправляет сообщение действия (в этом учебнике отправитель являетсякнопка) .
Так что если вы хотите удалить кнопку, когда она нажата (внутри changeGreeting:
), тогда вам не нужен IBOutlet
, потому что у вас уже есть ссылкана кнопку в параметре sender
:
- (IBAction)changeGreeting:(id)sender
{
UIButton *button = (UIButton *)sender;
// ...
[button removeFromSuperview];
// ...
}