簡體   English   中英

點按時按鈕文本會恢復

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM