点击 UITextField 在 UITableView 中显示数据

Posted

技术标签:

【中文标题】点击 UITextField 在 UITableView 中显示数据【英文标题】:show data in UITableView on tapping UITextField 【发布时间】:2013-12-19 10:39:12 【问题描述】:

如何在UITableview 中获取数据,而不是点击键盘UITextfield。在UITableview,如何多选数据。 编辑:-我有一个UITextfield。点击它时,tableview 应该会弹出其中的数据而不是键盘。 When a row of tableview is selected, then checkmark should appear and that data should be seen in UITextfield.

【问题讨论】:

您到底想要什么?请用正确的方式写问题。 在 textViewDidBeginEditing 中加载表格视图。 分享您的代码。你试过什么? 您的要求是当用户触摸文本字段时,键盘不应该显示,而是我们需要显示表格视图并在选择表格视图单元格时,数据应该显示在文本字段上? 【参考方案1】:

回答你的第一个问题 -

您的键盘将通过使用此代码隐藏。

-(BOOL)textField:(UITextField *)textField shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 

    if([text isEqualToString:@"\n"]) 
       [textField resignFirstResponder];
       return NO;
    
return YES;


- (void)textFieldDidBeginEditing:(UITextField *)textField

     [self.view endEditing:YES];
     // load your tableView here.
     // Everything must be custom.that is your table view is just like a popup.

第二个问题的答案——

现在的情况是您的表格视图显示在屏幕上。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    NSString *selectedValue = [yourArray objectAtIndex:indexPath.row];
    yourTextView.text = selectedValue;
    yourTableView.hide = YES;

在选择任何行后,值会显示在 yourTextView 中。但之后您必须隐藏该 tableView。试试这个。也许这会对你有所帮助。

【讨论】:

【参考方案2】:
-(void)textViewDidBeginEditing:(UITextView *)textView  


 [self.view endEditing:YES]; // this will make key board hide   
 yourTableView.hide = NO;  // here show tableview make sure tableview allocated out side and here you will be just showing.  



-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath     
  
yourTextView.text = yourArray[indexPath.row];  
yourTableView.hide = YES;  

【讨论】:

【参考方案3】:

使用 UITextField.inputView 属性。

更多关于这个主题的信息: https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/InputViews/InputViews.html

【讨论】:

以上是关于点击 UITextField 在 UITableView 中显示数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在uitextfield或按钮之外点击退出键盘

IQKeyboardManager 在 UITextField 上点击时隐藏键盘

如何在点击时出现键盘时管理UITextField的高度?

Swift:点击 UITextField 时如何显示 UIPickerView

在点击 UITextField 时,出现 DatePicker

UITextField 占位符在点击时一直显示