Кнопка меняет заголовок при каждом нажатии - PullRequest
1 голос
/ 02 апреля 2012

Я пытаюсь это сделать, но когда я нажимаю его, он не меняется, он отображает только текст.Также пробовал, если еще работает, но безрезультатно.

.h

IBOutlet UIButton *poga1;
@property (nonatomic, retain)  UIButton *poga1;

.m

@synthesize poga1;

- (void)viewDidLoad
{
[super viewDidLoad];

[poga1 setTitle:@"My Title" forState:UIControlStateNormal];
[poga1 setTitle:@"My Selected Title" forState:UIControlStateSelected];

}

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

Попробуйте: если вы добавили заголовок через раскадровку (графический интерфейс), удалите его.

.h // создать действие IBOutlet. Как? Вы щелкаете правой кнопкой мыши по кнопке и перетаскиваете ее в файл .h. Появляется всплывающее окно, и вам нужно щелкнуть раскрывающийся список и переключить его на действие // должно быть что-то вроде

- (IBAction)yourButton:(id)sender;

.m
//there will be a new function in your .m which is your button action function. 
@synthesize poga1;

- (void)viewDidLoad
{
[super viewDidLoad];

[poga1 setTitle:@"My Title" forState:UIControlStateNormal];
[poga1 setTitle:@"My Selected Title" forState:UIControlStateSelected];

}

- (IBAction)Start:(id)sender
{

/ * если вы хотите, чтобы текст менялся при каждом нажатии, вам нужен глобальный счетчик, который увеличивается с каждым нажатием кнопки. тогда у вас будет оператор if, говорящий, что если счетчик равен 1 (нажата один раз), тогда установите заголовок на hello, если счетчик равен 7 (нажал 7 раз), установите заголовок на прощание. * /

 [sender setTitle:@"whatever" forState:UIControlStateNormal];
}
0 голосов
/ 02 апреля 2012

Вам нужно захватить действие кнопки и изменить заголовок, потому что UIButton имеет постоянное состояние, как выбрано, например, переключатель или тумблер.

Если вы хотите изменить заголовок, когда пользователь нажимает:

-(IBAction) onClick: (id) sender {
  [(UIButton *) sender setHighlighted:YES];
}
...