限制表视图中的文本字段进入

时间:2016-07-20 06:18:47

标签: ios objective-c

我正在构建一个包含用户详细信息视图的应用。我使用表视图来保留3个文本字段。我想要做的是,当用户点击编辑按钮时,第一个文本字段(电话号码TF)不应该允许用户输入数据&在剩余的2个文本字段中应该允许用户输入数据。提前谢谢

3 个答案:

答案 0 :(得分:3)

设置userInteractionEnabled 属性

//UITextField *textfield;
textfield.userInteractionEnabled = NO; // TO stop UserInteraction and Yes TO enable User Interaction

答案 1 :(得分:1)

喜欢

 - (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"XXXXX"];

    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                      reuseIdentifier:@"SimpleTableCell"];

    }

 cell.yourTextfield.userInteractionEnabled = YES;
if (indexPath.row == 0) // it disable your interaction in first cell
{
 cell.yourTextfield.userInteractionEnabled = NO;
 }

return cell;
}

<强>选择-2

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"XXXXX"];

    if (cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle
                                      reuseIdentifier:@"SimpleTableCell"];

    }

 cell.yourTextfield.tag = indexPath.row; // set tag for each textfield


return cell;
}
  

在该委托上禁用交互

 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
BOOL editable;
if (textField.tag == 0) {
    editable = NO;
} else if (textField.tag == 1 || textField.tag == 2) {
    editable = YES;
}
return editable;
}

答案 2 :(得分:0)

您不需要表视图来显示三个文本字段。基本上,tableview用于当前大量数据。

但您可以将 userInteractionEnabled 设置为 NO 以防止更改文本字段。

否则,如果您仍想使用tableview,仍可以在tableView:cellForRowAtIndexPath:

中禁用用户互动