селектор для UIDatePicker с аргументами (UITextfiled) - PullRequest
0 голосов
/ 30 января 2012

Я видел много текстовых полей с триггером выбора даты.Я хочу, чтобы у меня был только один способ выбора даты.Этот указатель даты должен иметь селектор метода с идентификатором текстовых полей.Я не знаю, как я могу это сделать.

Вот мой код:

- (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)];

}

1 Ответ

0 голосов
/ 30 января 2012

Я действительно не получил ваш вопрос, но мне кажется, что вы хотите внести некоторые изменения в свой инструмент выбора даты, основываясь на выбранном текстовом поле. Вы можете распознать текстовое поле, из которого был вызван метод, используя свойство tag. Как

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

//do something as second text field selected
}

вы можете указать теги для текстового поля либо с помощью построителя интерфейса (если вы используете XIB), либо с помощью кода, подобного. firstTextField.tag=1; и так далее .. надеюсь, это поможет ... если что-нибудь еще, просто дайте мне знать

...