更改分段控件内的按钮文本

时间:2013-12-07 10:18:53

标签: ios undeclared-identifier uisegmentedcontrol

我在.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说“使用未声明的标识符”按钮“,但在.h文件中-(IBAction)button:(id)sender;

4 个答案:

答案 0 :(得分:1)

如果我说得对,你想动态改变片段的标题。您可以使用UISegmentedControl的方法

执行此操作
- (void)setTitle:(NSString *)title forSegmentAtIndex:(NSUInteger)segment

您需要在xib文件中具有段控件的outlet属性。然后你就这样做了:

[self.mySegmentControl setTitle:@"New title" forSegmentAtIndex:0];

答案 1 :(得分:0)

以这种方式,你没有宣布一个按钮,而只是一个名为'button'的动作。

你应该在你的.h文件中

 @interface yourViewController : UIViewController {

   UIButton *button;

 }

并且您可以执行以下更改段控制的标题:

 [yourSegmentControl setTitle:@"Button!" forSegmentAtIndex:0]; //0 is the first

如果你想改变UIButton的标题:

[button setTitle:@"Title" forState: UIControlStateNormal];

答案 2 :(得分: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];
        ...
    }

}

答案 3 :(得分:0)

快捷键4

    segmentButton.setTitle("hello", forSegmentAt: 0)