我有一个按钮,在整个程序中他可以更改自己的名字。
原名“线”。
然后重命名为“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 setTitle:@"Bar" forState:UIControlStateNormal];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)