2012-01-23 20 views
1

ボタンをクリックし、アクションシートから選択し、選択したインデックスをボタンテキストラベルのテキストに設定しようとします。私のボタンは以下の通りです。しかし、ボタンテキストには選択されたインデックスは表示されません。これをどうすれば解決できますか?actionSheet clickedButtonAtIndexは、目的のCでは機能しませんか?

- (IBAction)cinsiyetBtnClick:(id)sender { 
    popupQuery1 = [[UIActionSheet alloc] initWithTitle:@"Cinsiyetiniz" 
               delegate:self 
            cancelButtonTitle:NO 
           destructiveButtonTitle:NO 
            otherButtonTitles:@"Bay", @"Bayan",nil]; 
    popupQuery1.tag = 1; 
    // popupQuery1.actionSheetStyle = UIActionSheetStyleDefault; 
    [popupQuery1 showInView:[UIApplication sharedApplication].keyWindow]; 
    [popupQuery1 release]; 
} 

- (IBAction)medeniDurumBtnClick:(id)sender { 
    popupQuery1 = [[UIActionSheet alloc] initWithTitle:@"Medeni Durumunuz" 
               delegate:self 
            cancelButtonTitle:NO 
           destructiveButtonTitle:NO 
            otherButtonTitles:@"Evli", @"Bekar",@"Dul",@"Boşanmış",nil]; 
    popupQuery1.tag = 2; 
    // popupQuery1.actionSheetStyle = UIActionSheetStyleDefault; 
    [popupQuery1 showInView:[UIApplication sharedApplication].keyWindow]; 
    [popupQuery1 release]; 
} 

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 
    if(actionSheet.tag==1){ 
     if (buttonIndex == 0) { 
      self.cinsiyetBtn.titleLabel.text = @"Bay"; 
     } else if (buttonIndex == 1) { 
      self.cinsiyetBtn.titleLabel.text = @"Bayan"; 
     } 
    } 
    else if (actionSheet.tag == 2){ 
     if (buttonIndex == 0) { 
      self.medeniDurumBtn.titleLabel.text = @"Evli"; 
     } else if (buttonIndex == 1) { 
      self.medeniDurumBtn.titleLabel.text = @"Bekar"; 
     } else if (buttonIndex == 2) { 
      self.medeniDurumBtn.titleLabel.text = @"Dul"; 
     } else if (buttonIndex == 3) { 
      self.medeniDurumBtn.titleLabel.text = @"Boşanmış"; 
     } 
    } 
} 
+0

あなたは.hファイルにUIApplicationDelegateを設定していますか? –

+0

なので、問題はなんですか?いいえ、ボタンのタイトルは更新中ですか? – Shubhank

答えて

1

することができたボタンで、いくつかの状態があります:UIControlStateNormalUIControlStateHighlightedUIControlStateSelectedUIControlStateDisabledが。時には、あなたはすべての州のタイトルを設定する必要があります

[button setTitle:@"New Title" forState:UIControlStateNormal]; 

:あなたはボタンのタイトルを更新したいときは、通常の状態のための新しいタイトルを設定する必要があり、多くの場合

は、だから今はちょうどこのようなもので、すべてのself.cinsiyetBtn.titleLabel.text = @"Bay";を交換する必要があります。

[self.cinsiyetBtn setTitle:@"Bay" forState:UIControlStateNormal]; 
関連する問題