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