button文字点击时恢复
我有一个button,整个程序中,他改变了他的名字。
原来的名字是“行”。
然后重新命名为“酒吧”。
当被命名为“酒吧”,我按它执行下面的代码。
在代码中是variables_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) { }];
之后神奇地出现你的名字。
我只是改变这个button的名字时按_bt2。 我不使用任何更多的代码,因为名字来自故事板
当按_bt2时运行下面的代码
- (IBAction)bt2Pressed:(id)sender { NSLog(@"botao2"); _bt3.titleLabel.text=@"Bar"; }
有谁知道如何解决?
问题是你直接设置_bt3.titleLabel.text
。 不要这样做。
一个button具有状态:正常,突出显示,select和禁用。 它知道每个州的文本应该是什么样的。 当_bt3
更改状态时,它会设置_bt3.titleLabel.text
。 这会覆盖您对_bt3.titleLabel.text
的更改。
如果不将文本设置为非正常状态,则该button将使用正常状态的文本。
当用户触摸_bt3
, _bt3
将其状态更改为突出显示,并将_bt3.titleLabel.text
设置为突出显示状态的文本。 当用户停止触摸_bt3
, _bt3
将其状态更改为正常状态,并将_bt3.titleLabel.text
设置为正常状态的文本。
因此, _bt3.titleLabel.text
直接设置_bt3.titleLabel.text
,而要告诉button在正常状态下应该显示哪些文本:
[_bt3 setTitle:@"Bar" forState:UIControlStateNormal];