在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];
}
}
}
Lors de l'ouverture de PickerView, exécutez
Vous l'essayez.
En général, le clavier doit être masqué avant d'afficher le pickerView. C'est l'interaction la plus normale.
Une interaction plus bizarre consiste à recouvrir le clavier avec un sélecteur, ce qui n'est généralement fait par personne. Collez simplement le sélecteur sur la fenêtre du clavier.
Je pense que vous devriez définir des exigences dans la méthode de réponse au clic de chaque champ de texte. Par exemple, ab et ab n'apparaissent pas sur le clavier, ils ne répondront donc jamais aux demandes d'appel du clavier de ces deux-là. être jugé. Tout ira bien