Set focus to UITextField in tableCell

前端 未结 3 1912
长情又很酷
长情又很酷 2021-02-12 07:21

I am creating a table view with UITextFields dynamically.

l_textField = [[UITextField alloc] initWithFrame:TextFieldFrame];
l_textField.tag = cellRo         


        
相关标签:
3条回答
  • 2021-02-12 07:32

    Swift 3

    myTextField.becomeFirstResponder()
    

    My Code. Take index path of current cell. And get cell of next indexpath.row. And called ** cell1.txtFindings.becomeFirstResponder() **

      if  let textFieldIndexPath = specsListView.indexPath(for: cell){
            let newIndexPath = IndexPath(row: textFieldIndexPath.row + 1, section: 0)
    
            if let cell1: SpecsTableViewCell = specsListView.cellForRow(at: newIndexPath) as? SpecsTableViewCell{
                cell1.txtFindings.becomeFirstResponder()
            }
    }
    
    0 讨论(0)
  • 2021-02-12 07:38

    change [field resignFirstResponder]; with [field becomeFirstResponder];

    resignFirstResponder is used to remove keyboard (focus) from text field

    0 讨论(0)
  • 2021-02-12 07:56

    I've faced the same issue here, even using correctly the [field becomeFirstResponder];.

    I also used tags to get the objects I have inside the cell. Your didSelectRowAtIndexPath should look like this to get the right cell:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        currentRow = indexPath.row;
    
        UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
        UITextField *indexField = (UITextField *)[cell viewWithTag:101];
        [indexField becomeFirstResponder];
    }
    

    It worked like a charm for me.

    0 讨论(0)
提交回复
热议问题