[英]Toggle the title of a UIButton when it is tapped
我想要一个UIButton,当点击以将其标题更改为“ Restart”,而再次点击以将其标题更改为“ Stop”时。 这段代码我将Button标题更改为“ Restart”,但是当我再次点击按钮时,什么也没有发生。
-(IBAction)restartPressed{
if (self.restart){
[self.restart setTitle:"@Restart" forState:UIControlStateNormal];
else {
[self.restart setTitle:"@Stop" forState:UIControlStateSelected];
}
}
您需要同时设置两次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
函数。
您可以使用全局布尔变量:
var isButtonClicked = false
@IBAction func restartClicked(_ sender: AnyObject) {
isButtonClicked = !isButtonClicked
restartButton.setTitle(isButtonClicked ? "Stop" : "Restart", for: .normal)
}
代码迅速。 您可以将其转换为目标C
全局声明int i和int rem:
@interface ViewController ()
{
int i;
int rem;
}
然后在重新启动按钮Action中添加以下代码:
- (IBAction)restartPressed:(id)sender
{
if((rem = i % 2 == 0))
{
[_restartBtn setTitle:@"restart" forState:UIControlStateNormal];
i=i+1;
}
else
{
[_restartBtn setTitle:@"stop" forState:UIControlStateNormal];
i=i+1;
}
}
希望这可以帮助 !
尝试这个 :
在ViewDidLoad中
[btn setTitle:@"Restart" forState:UIControlStateSelected];
[btn setTitle:@"Stop" forState:UIControlStateNormal];
- (IBAction) restartPressed:(UIButton *)btn {
btn.selected = !btn.isSelected;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.