我有类似下面的视图
日期选择器视图总是在那里我怎样才能让它在点击输入日期时弹出,当我点击背景时,日期选择器应该下降
我刚刚习惯了日期选择器视图,但我不知道如何做到这一点出现和消失
我有类似下面的视图
日期选择器视图总是在那里我怎样才能让它在点击输入日期时弹出,当我点击背景时,日期选择器应该下降
我刚刚习惯了日期选择器视图,但我不知道如何做到这一点出现和消失
行。这是您对动画的要求的一些示例代码。
- (void) showView
{
[self.view addSubview:yourDatePickerView];
yourDatePickerView.frame = CGRectMake(0, -250, 320, 50);
[UIView animateWithDuration:1.0
animations:^{
yourDatePickerView.frame = CGRectMake(0, 152, 320, 260);
}];
}
这里是如何隐藏你的 DatePickerView
- (void) hideView
{
[UIView animateWithDuration:0.5
animations:^{
yourDatePickerView.frame = CGRectMake(0, -250, 320, 50);
} completion:^(BOOL finished) {
[yourDatePickerView removeFromSuperview];
}];
}
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if(textField == yourDateTextField)
{
[self showView];
return NO; // preventing keyboard from showing
}
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
if(textField == yourDateTextField)
{
[self hideView];
}
}
这就是你所需要的。
您应该在委托方法中识别文本字段。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if(textField == DATE_TEXT_FIELD)
{
//Display date picker
}
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
if(textField == DATE_TEXT_FIELD)
{
//Hide date picker
}
}
UIView
包含此日期选择器视图的参考。datePickerContainerView
给textField.inputView
属性。然后分配textfield.delegate
并self
实现您的
textFieldShouldReturn
方法。在那个方法中,写下这几行
[textField resignFirstResponder];
返回是;
现在,当您点击该文本字段时,它将根据 inputview 属性设置加载 datepicker 视图来代替默认键盘。
在为 datePicker 编写代码之前,请确保键入以下代码行
[textField resignFirstResponder];
众所周知,键盘是文本字段的默认第一响应者。因此,您应该先将其退出,然后再为选择器编码,否则键盘也会弹出。