[英]how to pop up datePicker when text filed click and disappear when editing done
我有类似下面的东西
日期选择器视图总是在那里如何让它在点击输入日期时弹出显示,当我点击背景时,日期选择器应该关闭
我刚刚做了日期选择器视图习惯,但我不知道如何做这个出现和消失的事情
好。 以下是一些动画要求的示例代码。
- (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];
返回YES;
现在,当您点击该文本字段时,它将根据inputview属性设置加载datepicker视图来代替默认键盘。
在为datePicker执行代码之前,请确保键入以下代码行
[textField resignFirstResponder];
我们知道,键盘是textField的默认第一响应者。所以你应该首先重新签名然后编码选择器,否则键盘也会弹出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.