当编辑完成时,如何在popupdateselect器时popup文本点击消失
我有像下面这样的东西
dateselect器视图总是在那里我怎样才能让它出现popup时inputdate点击,当我点击回地面dateselect器应该下去
我刚才做dateselect器视图的习惯,但我不知道如何做到这一点出现和消失的事情
好。 这里是一些示例代码,您的animation要求。
- (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 } }
- 创build一个包含这个dateselect器视图的
UIView
引用。 - 现在将这个
datePickerContainerView
分配给textField.inputView
属性。 -
然后将
textfield.delegate
分配给self
并实现您的textFieldShouldReturn
方法。 在这种方法中,写下这行[textField resignFirstResponder];
返回YES;
现在,当你点击该文本框,它将加载dateselect器视图来代替默认的键盘,按照inputview属性设置。
在执行datePicker的代码之前,请确保您键入下面的代码行
[textField resignFirstResponder];
正如我们所知,键盘是textField的默认第一响应者。所以你应该先辞职,然后代码select器,否则键盘也会popup。