Изменить текст кнопки внутри элемента управления сегментом
У меня есть сегмент управления и код, как это в файле.m
-(IBAction)sectionswitch:(id)sender {
if (control.selectedSegmentIndex == 0) {
UIImage *dekabristov = [UIImage imageNamed:@"dekabristov.png"];
[image setImage:dekabristov];
}
if (control.selectedSegmentIndex == 1) {
UIImage *fabrika = [UIImage imageNamed:@"fabrika.jpg"];
[image setImage:fabrika];
}
}
Как я могу изменить название кнопки действия внутри элемента управления? Если я напишу [button setTitle:@"Button!"];
Xcode говорит "Использовать необъявленный идентификатор" кнопка ", но -(IBAction)button:(id)sender;
в.h файле
4 ответа
Таким образом, вы не объявили кнопку, а только действие под названием "кнопка".
в вашем.h файле вы должны сделать:
@interface yourViewController : UIViewController {
UIButton *button;
}
а для изменения заголовка сегмента управления вы можете сделать:
[yourSegmentControl setTitle:@"Button!" forSegmentAtIndex:0]; //0 is the first
если вы хотите изменить заголовок UIButton:
[button setTitle:@"Title" forState: UIControlStateNormal];
Если я правильно понял, вы хотите динамически изменить название сегментов. Вы можете сделать это с помощью метода UISegmentedControl
- (void)setTitle:(NSString *)title forSegmentAtIndex:(NSUInteger)segment
Вам нужно будет иметь свойство outlet элемента управления сегмента в вашем xib-файле. Тогда вы просто делаете это:
[self.mySegmentControl setTitle:@"New title" forSegmentAtIndex:0];
- (IBAction) кнопка:(id) отправитель; метод, а не идентификатор
поэтому для изменения названия кнопки "Текст действия" необходимо написать следующий код
-(IBAction)sectionswitch:(id)sender {
if (control.selectedSegmentIndex == 0) {
...
[sender setTitle:@"AAAAA" forSegmentAtIndex:0];
...
}
if (control.selectedSegmentIndex == 1) {
...
[sender setTitle:@"BBBBB" forSegmentAtIndex:1];
...
}
}