[英]Button text reverts when tapped
我有一个按钮,在整个程序中他改变了他的名字。
原名是“行”。
然后重命名为“bar”。
当命名为“bar”并按下它时执行以下代码。
在代码中是变量_bt3。
[UIView animateWithDuration:1
delay:0
options:UIViewAnimationCurveEaseOut
animations:^{
_bt1.transform = CGAffineTransformMakeTranslation(0,0);
_viewBt1.transform = CGAffineTransformMakeTranslation(0,0);
_bt2.transform = CGAffineTransformMakeTranslation(0,0);
_viewBt2.transform = CGAffineTransformMakeTranslation(0,0);
_bt3.transform = CGAffineTransformMakeTranslation(0,-_viewBt3.frame.size.height+68);
_viewBt3.transform = CGAffineTransformMakeTranslation(0,-_viewBt3.frame.size.height+68);
_bt4.transform = CGAffineTransformMakeTranslation(0,0);
_viewBt4.transform = CGAffineTransformMakeTranslation(0,0);
}
completion:^(BOOL finished) {
}];
之后用你的名字神奇地出现。
我只是在_bt2时按下此按钮的名称。 我不再使用代码的一部分,因为名字来自故事板
按下_bt2时,运行以下代码
- (IBAction)bt2Pressed:(id)sender {
NSLog(@"botao2");
_bt3.titleLabel.text=@"Bar";
}
有谁知道如何解决?
问题是您直接设置_bt3.titleLabel.text
。 不要那样做。
按钮具有状态:正常,突出显示,选中和禁用。 它知道每个州的文本应该是什么。 当_bt3
更改状态时,它会设置_bt3.titleLabel.text
。 这将覆盖您对_bt3.titleLabel.text
的更改。
如果未将文本设置为非正常状态,则该按钮将使用正常状态的文本。
当用户触摸_bt3
, _bt3
将其状态更改为突出显示,并将_bt3.titleLabel.text
设置为其突出显示状态的文本集。 当用户停止触摸_bt3
, _bt3
将其状态恢复为正常状态,并将_bt3.titleLabel.text
设置为其正常状态的文本集。
因此, _bt3.titleLabel.text
直接设置_bt3.titleLabel.text
,而是需要告诉按钮它应该在正常状态下显示的文本:
[_bt3 setTitle:@"Bar" forState:UIControlStateNormal];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.