在点击UITextField时在UITableView中显示数据

时间:2013-12-19 10:39:12

标签: ios objective-c uitableview uitextfield

如何在UITableview中获取数据,而不是点击键盘UITextfield。在UITableview中,如何进行多项数据选择 编辑: - 我有UITextfield。在点击它时,tableview应该弹出数据而不是键盘。选择一行tableview时,应显示复选标记,并且应在UITextfield中看到该数据。

3 个答案:

答案 0 :(得分:4)

回答你的第一个问题 -

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

-(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。试试这个。这可以帮到你。

答案 1 :(得分: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;  
}

答案 2 :(得分:0)