以编程方式设置UIDatepicker

fad*_*add 2 iphone objective-c uidatepicker ios

我有一个日期选择器和2个按钮.我想在单击按钮时以编程方式设置datepicker值.就像当我按下第一个按钮时,datepicker值变为今天的日期和00:00:00:时间,当我按下第二个按钮时,datepicker值变为今天的日期和23:59:59时间.

怎么做?

iOS*_*iOS 11

简单的任务,假设你已经添加了两个函数beging在按下按钮时调用你需要这样的东西:

-(IBAction)beginPressed:(id)sender
{
  NSDate * now = [[NSDate alloc] init];
  NSCalendar *cal = [NSCalendar currentCalendar];
  NSDateComponents * comps = [cal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];
  [comps setHour:0];
  [comps setMinute:0];
  [comps setSecond:0];
  NSDate * date = [cal dateFromComponents:comps];
  [self.datePicker setDate:date animated:TRUE];

}
-(IBAction)endPressed:(id)sender
{
  NSDate * now = [[NSDate alloc] init];
  NSCalendar *cal = [NSCalendar currentCalendar];
  NSDateComponents * comps = [cal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];
  [comps setHour:23];
  [comps setMinute:59];
  [comps setSecond:59];
  NSDate * date = [cal dateFromComponents:comps];
  [self.datePicker setDate:date animated:TRUE];
}
Run Code Online (Sandbox Code Playgroud)

我认为设置组件的部分对您来说并不清楚,请查看上述类的API,您会发现更多.

编辑:我将日历更改为当前默认日历并立即初始化日历.