我正在尝试在用户单击按钮时将UIDatePicker添加到UIView。我有一个动画设置,可以从底部向上滑动UIView。如果我将UIDatePicker添加到ViewControllers视图,则DatePicker会正确显示。但是,如果我将DatePicker添加到UIView,则日期选择器根本不会显示。
- (IBAction)setTimeButtonPressed:(UIButton *)sender
{
// Creates Frame Rects for views and controls
CGRect datePickerViewOutFrame = CGRectMake(0, 336, self.view.frame.size.width, 228);
CGRect datePickerOutFrame = CGRectMake(0, 336, self.view.frame.size.width, 162);
// Create View that will slide out
UIView *datePickerView = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 0)];
datePickerView.backgroundColor = [UIColor flatCloudsColor];
// Setup DatePicker
UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, 0)];
datePicker.datePickerMode = UIDatePickerModeTime;
datePicker.date = [NSDate date];
datePicker.hidden = NO;
[self.view addSubview:datePickerView];
[datePickerView addSubview:datePicker]; /* DOES NOT WORK*/
self.datePickerView.clipsToBounds = YES;
// Animate the views sliding out from the bottom
[UIView animateWithDuration:0.5
delay:0
options:UIViewAnimationOptionCurveLinear
animations:^{
datePicker.frame = datePickerOutFrame;
datePickerView.frame = datePickerViewOutFrame;
}
completion:^(BOOL finished){
// Might need later
}];
}
但是,如果我更改添加datePicker的行,它可以工作,但我无法将其剪辑到datePickerView的边界。
[self.view addSubview:datePickerView];
[self.view addSubview:datePicker]; /* Works but can't clip DatePicker */
我做错了什么?
答案 0 :(得分:1)
UIDatePickerView
框架需要相对于其父视图。因此,如果您要将其添加到datePickerView
,则UIDatePicker
的框架应具有0,0
的原点,而不是基于视图控制器视图的高度
UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 0)];