轻按UIButton的标题

qwe*_*yyy 0 cocoa-touch objective-c uibutton ios

我想要一个UIButton,当点击以将其标题更改为“ Restart”,而再次点击以将其标题更改为“ Stop”时。这段代码我将Button标题更改为“ Restart”,但是当我再次点击按钮时,什么也没有发生。

-(IBAction)restartPressed{
    if (self.restart){
      [self.restart setTitle:"@Restart" forState:UIControlStateNormal];
    else {
      [self.restart setTitle:"@Stop" forState:UIControlStateSelected];
    }
  }
Run Code Online (Sandbox Code Playgroud)

dir*_*nee 5

您需要同时设置两次状态UIControlStateNormalUIControlStateSelected是一种状态,什么是大麦可见。

声明一个变量,该变量在每次按下按钮时更新。

@property (nonatomic, assign) BOOL isRestart;
Run Code Online (Sandbox Code Playgroud)

比设置上述声明值的正确状态的标题。

 - (IBAction) restartPressed {
    self.isRestart = !self.isRestart;
    if (self.isRestart){
      [self.restart setTitle:@"Restart" forState:UIControlStateNormal];
    } else {
      [self.restart setTitle:@"Stop" forState:UIControlStateNormal];
   }
}
Run Code Online (Sandbox Code Playgroud)

另外,请确保restartPressed调用了该函数。