[英]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.