从特定日期启用日期选择器

时间:2011-09-09 11:48:18

标签: iphone

我正在使用日期选择器查看其中一个视频的iphone应用程序。我有另一个日期,我从数据库中取出。现在我希望从所选日期启用日期选择器,以便用户无法再次选择相同的日期。有没有办法从选定的日期启用选择器。如果有人知道请帮助我。

-(void)findextenddate
{
    NSLog(@"count:%@",adddatetime);
    addatimeclass = adddatetime;
    endnsdate = [addatimeclass objectAtIndex:[addatimeclass count]-1];
    endnsdate1 = (NSDate*) endnsdate; 
    NSLog(@"formatdate:%@",endnsdate1);
}

-(IBAction)clicktoextend:(id)sender
{
    actionsheet = [[UIActionSheet alloc]init];
    actionsheet = [[UIActionSheet alloc] initWithTitle:@"Select Date" delegate:self
                                      cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Select", nil];
    [actionsheet showInView:[self.view superview]];
    [actionsheet setFrame:CGRectMake(0, 117, 320, 383)];
    pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];

    pickerView.minimumDate = endnsdate1 ;
    pickerView.datePickerMode = UIDatePickerModeDate;
    //Add picker to action sheet
    [actionsheet addSubview:pickerView];
    subviews = [actionsheet subviews];


    [[subviews objectAtIndex:SelectButtonIndex] setFrame:CGRectMake(20, 266, 280, 46)]; 
    [[subviews objectAtIndex:CancelButtonIndex] setFrame:CGRectMake(20, 317, 280, 46)];
    [pickerView release];
    [actionsheet release];
}

非常感谢。

3 个答案:

答案 0 :(得分:0)

是的,UIDatePicker具有minimumDate属性,完全符合该目的

答案 1 :(得分:0)

使用

datePicker.minimumDate=YOUR date object

此功能禁用日期前的所有日期

答案 2 :(得分:0)

如果您的意思是需要将选择器的日期设置为从数据库中提取的日期,则可以通过- (void)setDate:(NSDate *)date animated:(BOOL)animated方法执行此操作。

如果您需要从该日期ONWARDS(没有过去的日期)启用选择器,请按照之前的答案建议设置minimumDate属性。