在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之前應先隱藏鍵盤。這個是最正常的互動。
比較奇葩的互動是用picker蓋住鍵盤,通常沒人這麼乾。把picker貼在鍵盤的window上即可。
我想你應該在每個textfield的點擊響應的方法裡都做出要求,比如ab兩個是不彈出鍵盤的,那麼就始終不響應這兩個的鍵盤呼出請求,剩下一個只要判斷就好了