我是iPhone开发的新手。我想在选择文本字段时添加UIDatePicker
有两个日期选择器。

- (void)textFieldDidBeginEditing:(UITextField *)aTextField
{

    [aTextField resignFirstResponder];

    pickerViewPopup = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];

    UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 44, 0, 0)];
    pickerView.datePickerMode = UIDatePickerModeDate;
    pickerView.hidden = NO;
    pickerView.date = [NSDate date];

    UIToolbar *pickerToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    pickerToolbar.barStyle = UIBarStyleBlackOpaque;
    [pickerToolbar sizeToFit];

    NSMutableArray *barItems = [[NSMutableArray alloc] init];

    UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    [barItems addObject:flexSpace];

    UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButtonPressed:)];
    [barItems addObject:doneBtn];

    UIBarButtonItem *cancelBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelButtonPressed:)];
    [barItems addObject:cancelBtn];

    [pickerToolbar setItems:barItems animated:YES];

    [pickerViewPopup addSubview:pickerToolbar];
    [pickerViewPopup addSubview:pickerView];
    [pickerViewPopup showInView:self.view];
    [pickerViewPopup setBounds:CGRectMake(0,0,320, 464)];
}

我用了这个,但是对于两个不同的日期选择器却得到了相同的值。我希望如果我按textfield1,那么datepicker将打开并将该值保存在一个文本字段中,第二个文本字段则相同。谢谢。

最佳答案

@Maulik:
每次选择文本字段进行编辑时,都会首先调用- (void)textFieldDidBeginEditing:(UITextField *)aTextField

因此,对于您的选择(即textfield1和textfield2),将调用相同的代码。

您可以做的是点击“完成”按钮,检查哪个文本字段打开了选择器并将值保存在该文本字段中。

我的意思是在.h文件中使用一个文本字段UITextField *selectedTextField;
然后在textFieldDidBeginEditing方法中将其设置为selectedTextField = aTextField;然后点击完成按钮,即doneButtonPressed中设置selectedTextField.text的选定值。就是这样..您完成了:)

08-05 23:39
查看更多