在tableView上创建多个uitextfield,其中一个textfield需要显示键盘,另一个需要弹出pickerView
现在,如果先出现pickerView然后出现键盘是正常的,但是在点击显示键盘之后,再弹出pickerView,那么键盘就回遮住pickerView,请问该如何处理?
-(void)cellSelect:(JustStringTableViewCell *)target
{
int selectRow = [[self.bookingTableView indexPathForCell:target] row] + 10000;
for (int i = 10000; i < 10000 + self.formMutArr.count; i++) {
if (i == selectRow) {
if ([target.formFieldsModel.kind isEqualToString:@"datetime"]) {
//时间日期选择
[target.rightTextField resignFirstResponder];
_pickerView = [[CustomPickerView alloc]initWithDelegete:(id)self datas:nil];
[_pickerView pickerShow];
}else if ([target.formFieldsModel.kind isEqualToString:@"date"]){
//只选择日期不选择时间
[target.rightTextField resignFirstResponder];
_pickerView = [[CustomPickerView alloc]initWithDelegete:(id)self datas:chooseArray];
[_pickerView pickerShow];
}else if ([target.formFieldsModel.kind isEqualToString:@"select"]){
//选择条目内容 valueContraint
[target.rightTextField resignFirstResponder];
_pickerView = [[CustomPickerView alloc]initWithDelegete:(id)self datas:chooseArray];
[_pickerView pickerShow];
}
}else{
UITextField *tempTextField = (UITextField *) [self viewWithTag:i];
[tempTextField resignFirstResponder];
}
}
}
PickerView를 열 때
를 실행하세요. 으아아아한번 해보세요.
일반적으로 pickerView를 표시하기 전에 키보드를 숨겨야 합니다. 이것이 가장 정상적인 상호작용이다.
좀 더 기괴한 상호작용은 피커로 키보드를 덮는 것인데, 이는 일반적으로 누구도 수행하지 않습니다. 키보드 창에 피커를 붙이기만 하면 됩니다.
각 텍스트 필드의 클릭 응답 방법에 요구사항을 만들어야 한다고 생각합니다. 예를 들어 ab와 ab는 키보드를 팝업하지 않으므로 이 두 가지의 키보드 콜아웃 요청에는 절대 응답하지 않습니다. 괜찮을 것 같아요