我有一个按钮,在整个程序中他更改了他的名字
原名是“行”。
然后重命名为“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";
}
谁知道怎么解决?
答案 0 :(得分:2)
问题是您是直接设置_bt3.titleLabel.text
。不要那样做。
按钮具有以下状态:正常,突出显示,已选中和已禁用。它知道每个州的文本应该是什么。当_bt3
更改状态时,会设置_bt3.titleLabel.text
。这会将您的更改覆盖为_bt3.titleLabel.text
。
如果未将文本设置为非正常状态,则该按钮将使用正常状态的文本。
当用户触摸_bt3
时,_bt3
会将其状态更改为突出显示,并将_bt3.titleLabel.text
设置为其突出显示状态的文本集。当用户停止触摸_bt3
时,_bt3
会将其状态恢复正常,并将_bt3.titleLabel.text
设置为正常状态的文本集。
所以不要直接设置_bt3.titleLabel.text
,而是需要告诉按钮它应该在正常状态下显示哪个文本:
[_bt3 setTitle:@"Bar" forState:UIControlStateNormal];