2016-11-06 6 views
0

タイトルを「Restart」に変更するためにタップすると、タイトルを「Stop」に変更するためにもう一度タップするとUIButtonが必要になります。このコードでは、ボタンのタイトルを「再起動」に変更しますが、もう一度ボタンをタップすると何も起こりません。タップしたときにUIButtonのタイトルを切り替えます

-(IBAction)restartPressed{ 
    if (self.restart){ 
     [self.restart setTitle:"@Restart" forState:UIControlStateNormal]; 
    else { 
     [self.restart setTitle:"@Stop" forState:UIControlStateSelected]; 
    } 
    } 

答えて

3

あなたはグローバルなブール変数を取ることができます:

var isButtonClicked = false 

@IBAction func restartClicked(_ sender: AnyObject) { 

    isButtonClicked = !isButtonClicked 
    restartButton.setTitle(isButtonClicked ? "Stop" : "Restart", for: .normal) 
} 

コードが迅速です。

4

UIControlStateNormalの状態を両方とも設定する必要があります。 UIControlStateSelectedは州であり、何が大麦であるかは目に見える。

ボタンが押されるたびに更新する変数を宣言します。

@property (nonatomic, assign) BOOL isRestart; 

上記の宣言された値を観察する正しい状態のタイトルを設定します。

- (IBAction) restartPressed { 
    self.isRestart = !self.isRestart; 
    if (self.isRestart){ 
     [self.restart setTitle:@"Restart" forState:UIControlStateNormal]; 
    } else { 
     [self.restart setTitle:@"Stop" forState:UIControlStateNormal]; 
    } 
} 

また、restartPressed関数が呼び出されていることを確認してください。

0

宣言int型グローバルiとint型のREM:

@interface ViewController() 
{ 
    int i; 
    int rem; 
} 

その後、あなたの再起動ボタンアクションで以下のコードを追加:

- (IBAction)restartPressed:(id)sender 

{ 
    if((rem = i % 2 == 0)) 
    { 
     [_restartBtn setTitle:@"restart" forState:UIControlStateNormal]; 
     i=i+1; 
    } 
    else 
    { 
     [_restartBtn setTitle:@"stop" forState:UIControlStateNormal]; 
     i=i+1; 
    } 

} 

・ホープ、このことができますが!

0

これを試してみてください:

[btn setTitle:@"Restart" forState:UIControlStateSelected]; 
[btn setTitle:@"Stop" forState:UIControlStateNormal]; 


- (IBAction) restartPressed:(UIButton *)btn { 
    btn.selected = !btn.isSelected; 
} 
のviewDidLoad

関連する問題