gpt4 book ai didi

ios - UIDatePicker选择的日期不出现

转载 作者:行者123 更新时间:2023-11-28 20:20:10 28 4
gpt4 key购买 nike

UIDatePickerView 工作正常。它出现了,我可以滚动浏览日期,但出于某种原因,我的 selectedOB.text 一直显示为今天的日期!无论我选择什么日期,它都显示为今天的日期!

我选择这个: enter image description here

NSLog 和标签显示为: enter image description here

代码如下:

- (IBAction)selectDOB:(id)sender 
{
UIActionSheet *selectBirthMY = [[UIActionSheet alloc] initWithTitle:@"Select Date of Birth" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Select", nil];
[selectBirthMY setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
[selectBirthMY showInView:[UIApplication sharedApplication].keyWindow];
[selectBirthMY setFrame:CGRectMake(0, 100, 320, 500)];
}

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
UIDatePicker *pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];
pickerView.datePickerMode = UIDatePickerModeDate;

[pickerView setMinuteInterval:15];
//Add picker to action sheet
[actionSheet addSubview:pickerView];
//Gets an array af all of the subviews of our actionSheet

NSArray *subviews = [actionSheet subviews];
[[subviews objectAtIndex:1] setFrame:CGRectMake(20, 265, 280, 46)];
[[subviews objectAtIndex:2] setFrame:CGRectMake(20, 317, 280, 46)];
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
UIDatePicker *DOBPicker = [[UIDatePicker alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMMM dd, YYYY"];

NSDate *pickedDOB = [DOBPicker date];
NSString *DOB = [dateFormatter stringFromDate:pickedDOB];
NSLog (@"This is DOB %@", DOB);
self.selectedDOB.text=DOB;
}

最佳答案

您正在使用两个不同的 UIDatePicker 实例。您需要使用相同的 datePicker 实例来获取所选日期

为datePicker创建一个属性

@property (nonatomic, strong) UIDatePicker *pickerView;

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
if(!self.pickerView){
self.pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];
self.pickerView.datePickerMode = UIDatePickerModeDate;

[self.pickerView setMinuteInterval:15];
//Add picker to action sheet
[actionSheet addSubview:self.pickerView];
}

//Gets an array af all of the subviews of our actionSheet

NSArray *subviews = [actionSheet subviews];
[[subviews objectAtIndex:1] setFrame:CGRectMake(20, 265, 280, 46)];
[[subviews objectAtIndex:2] setFrame:CGRectMake(20, 317, 280, 46)];
}

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMMM dd, YYYY"];

NSDate *pickedDOB = [self.pickerView date];
NSString *DOB = [dateFormatter stringFromDate:pickedDOB];
NSLog (@"This is DOB %@", DOB);
self.selectedDOB.text=DOB;
}

关于ios - UIDatePicker选择的日期不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16366618/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com