两个Textfield需要执行不同事件遇到问题

发布于 2022-09-02 09:34:14 字数 1697 浏览 18 评论 0

  1. 在tableView上创建多个uitextfield,其中一个textfield需要显示键盘,另一个需要弹出pickerView

  2. 现在,如果先出现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];
        }
    }
    
    
    
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

淡写薰衣草的香 2022-09-09 09:34:14

打开PickerView的时候,执行

[self.view endEditing:YES];

你试试。

一生独一 2022-09-09 09:34:14

一般弹出pickerView之前应先隐藏键盘。这个是最正常的交互。

[第一个textfield resignFirstResponder];

比较奇葩的交互是用picker盖住键盘,一般没人这么干。把picker贴在键盘的window上即可。

动听の歌 2022-09-09 09:34:14

我想你应该在每个textfield的点击响应的方法里都做出要求,比如ab两个是不弹出键盘的,那么就始终不响应这两个的键盘呼出请求,剩下一个只要判断就好了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文