Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 点击UIButton时切换其标题_Ios_Objective C_Cocoa Touch_Uibutton - Fatal编程技术网

Ios 点击UIButton时切换其标题

Ios 点击UIButton时切换其标题,ios,objective-c,cocoa-touch,uibutton,Ios,Objective C,Cocoa Touch,Uibutton,我想要一个UIButton,当点击将其标题更改为重新启动,当再次点击将其标题更改为停止。这段代码将按钮标题更改为重新启动,但当我再次点击按钮时,什么也没有发生 -(IBAction)restartPressed{ if (self.restart){ [self.restart setTitle:"@Restart" forState:UIControlStateNormal]; else { [self.restart setTitle:"@Stop"

我想要一个UIButton,当点击将其标题更改为重新启动,当再次点击将其标题更改为停止。这段代码将按钮标题更改为重新启动,但当我再次点击按钮时,什么也没有发生

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

可以采用全局布尔变量:

var isButtonClicked = false

@IBAction func restartClicked(_ sender: AnyObject) {

    isButtonClicked = !isButtonClicked
    restartButton.setTitle(isButtonClicked ? "Stop" : "Restart", for: .normal)
}

代码是用swift写的。您可以将其转换为目标C

您需要设置UIControlStateNormal的两次状态。UIControlStateSelected是一个可见的状态

声明一个变量,即每次按下按钮时更新的内容

@property (nonatomic, assign) BOOL isRestart;
然后根据上述声明的值设置正确状态的标题

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

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

全局声明int i和int rem:

@界面视图控制器 { int i; 内部rem; } 然后在重启按钮操作中添加以下代码:

-IBActionrestartPressed:idsender { ifrem=i%2==0 { [\u restartbn setTitle:@restart forState:UIControlStateNormal]; i=i+1; } 其他的 { [_restartbnsettitle:@stop forState:uicontrolstateformal]; i=i+1; } } 希望这有帮助

试试这个:

在ViewDidLoad中

[btn setTitle:@"Restart" forState:UIControlStateSelected];
[btn setTitle:@"Stop" forState:UIControlStateNormal];


- (IBAction) restartPressed:(UIButton *)btn {
    btn.selected = !btn.isSelected;
}