2012-01-23 1 views
1

버튼을 클릭하고 작업 시트에서 선택한 다음 선택한 텍스트를 버튼 텍스트 레이블의 텍스트로 설정하려고합니다. 내 버튼이 아래에 있습니다. 그러나 버튼 텍스트에는 선택된 인덱스가 표시되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까? UIControlStateNormal, UIControlStateHighlighted, UIControlStateSelectedUIControlStateDisabled :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을 설정 한 :

그래서 지금은 그냥이 같은 모든 당신의 self.cinsiyetBtn.titleLabel.text = @"Bay";를 교체해야합니까? –

+0

그래서 정확히 무엇이 문제입니까? 아니오 버튼 제목이 업데이트되고 있습니까 ?? – Shubhank

답변

1

버튼이 될 수있는 몇 가지 상태가있다.

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

은 때때로 당신은 모든 상태의 제목을 설정해야합니다 : 대부분의 경우

당신은 당신이 정상 상태에 대한 새로운 제목을 설정한다 버튼의 제목을 업데이트 할 때.

[self.cinsiyetBtn setTitle:@"Bay" forState:UIControlStateNormal];