从xcode更改按钮文本?

Lin*_*int 29 iphone xcode objective-c interface-builder

我有一个IBAction连接到我的Interface Builder中的按钮.

是否可以在运行时从我的代码中更改按钮(在IB中)上的文本?

sud*_*-rf 73

如果您有一个与代码中的操作相关联的按钮,则可以在没有实例变量的情况下更改标题.

例如,如果按钮设置为此操作:

-(IBAction)startSomething:(id)sender;
Run Code Online (Sandbox Code Playgroud)

您可以在方法中执行此操作:

-(IBAction)startSomething:(id)sender {
    [sender setTitle:@"Hello" forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您想要切换按钮的名称,可以创建一个BOOL名为"buttonToggled"(例如),并以这种方式切换名称:

-(IBAction)toggleButton:(id)sender {
    if (!buttonToggled) {
        [sender setTitle:@"Something" forState:UIControlStateNormal];
        buttonToggled = YES;
    }
    else {
        [sender setTitle:@"Different" forState:UIControlStateNormal];
        buttonToggled = NO;
    }
}
Run Code Online (Sandbox Code Playgroud)


NWC*_*der 19

UIButton *myButton;

[myButton setTitle:@"My Title" forState:UIControlStateNormal];
[myButton setTitle:@"My Selected Title" forState:UIControlStateSelected];
Run Code Online (Sandbox Code Playgroud)


Sim*_*een 5

是.UIButton有一种方法可以-setTitle:forState:使用它.