2012-01-30 2 views
0

나는 datepicker를 트리거하는 많은 텍스트 필드를 보아 왔습니다. 나는 datepicker를 만드는 유일한 방법이 필요하다. 이 datepicker에는 텍스트 필드의 식별자가있는 메소드 선택자가 있어야합니다. 나는 이것을 어떻게 만들 수 있을지 모른다.args가있는 UIDatePicker의 선택자 (UITextfiled)

- (IBAction)launchPickerDate:(id)sender{ 
    UIDatePicker *datepickerNew = [UIDatePicker new]; 
    [datepickerNew setHidden:NO]; 
    datepickerNew.frame = CGRectOffset(datepickerNew.frame, 0, 244); 

    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil 
                  delegate:nil 
                cancelButtonTitle:nil 
               destructiveButtonTitle:nil 
                otherButtonTitles:nil]; 

    [actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent]; 

    CGRect pickerFrame = CGRectMake(0, 40, 0, 0); 

    UIDatePicker *launchPickerDate = [[UIDatePicker alloc] initWithFrame:pickerFrame]; 
    [launchPickerDate addTarget:self action:@selector(SelectDatePicker:) forControlEvents:UIControlEventValueChanged]; 

    [actionSheet addSubview:launchPickerDate]; 

    UISegmentedControl *closeButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Ok"]]; 
    closeButton.momentary = YES; 
    closeButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f); 
    closeButton.segmentedControlStyle = UISegmentedControlStyleBar; 
    closeButton.tintColor = [UIColor blackColor]; 
    [closeButton addTarget:self action:@selector(closeDatePicker:) forControlEvents:UIControlEventValueChanged]; 
    [actionSheet addSubview:closeButton]; 

    [actionSheet showInView:[[UIApplication sharedApplication] keyWindow]]; 

    [actionSheet setBounds:CGRectMake(0, 0, 320, 485)]; 

} 

답변

0

정말 질문을하지 않았다하지만 사용자가 선택한 텍스트 필드에 기반으로 날짜 선택에 일부 내용을 변경하려는 나에게 보인다

여기 내 코드입니다. tag 속성을 사용하여 메서드가 호출 된 텍스트 필드를 인식 할 수 있습니다. 나 같은 코드를 통해 (당신이 XIB의를 사용하는 경우)처럼

if (sender.tag==1){ 
//do something as first text field selected 
}else if(sender.tag==2){ 

//do something as second text field selected 
} 

당신은 인터페이스 빌더 중 하나를 텍스트 필드의 태그를 지정할 수 있습니다. `[launchPickerDate addTarget을 : 자기 행동 : @selector (firstTextField.tag=1; 등은 ..이 도움이 ... 아무것도 그냥 나를 태그

+0

확인을 알고 있지만 내 코드이기 때문에 내가 어떻게이 PARAM을 전달할 수 있도록 경우 희망 SelectDatePicker :) forControlEvents : UIControlEventValueChanged]; ' –

+0

괜찮습니다! 모든 들어 : 내가 추가 한 'launchPickerDate.tag = sender.tag,' 그리고 '- (IBAction를) SelectDatePicker : (UIDatePicker *) 보낸 사람 { 의 UITextField * TMP = (의 UITextField *) [self.view viewWithTag : sender.tag]; NSDate * date = [보낸 사람 날짜]; NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat : @ "yyyy-MM-dd HH : mm"]; tmp.text = [formatter stringFromDate : date]; }' –