我正在实现一个包含几个自定义 UITableViewCells 的 UITableView,每个 UITableViewCells 都包含 UITextField。
与大多数希望键盘在某些事件中消失的人不同,我希望它一直出现。问题是第一次点击 UITextField 会触发键盘出现而没有任何问题。但是一旦我再次点击它,当前出现的键盘就会消失。
此外,另一个相关问题是我无法更改光标在 UITextField 中的位置。一旦我按住 UITextField 以更改光标的当前位置,放大镜就会按预期弹出。但是一旦我松开水龙头,键盘就会立即关闭。
我该如何解决这个问题?
- (void)viewDidLoad
{
...
TagDetailCell *cell1 = [[[NSBundle mainBundle] loadNibNamed:@"TagDetailCellView" owner:self options:nil] lastObject];
TagDetailCell *cell2 = [[[NSBundle mainBundle] loadNibNamed:@"TagDetailCellView" owner:self options:nil] lastObject];
TagDetailCell *cell3 = [[[NSBundle mainBundle] loadNibNamed:@"TagDetailCellView" owner:self options:nil] lastObject];
self.cells=[NSArray arrayWithObjects:cell1, cell2, cell3, nil];
...
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell=[self.cells objectAtIndex:indexPath.row];
cell.selectionStyle=UITableViewCellSelectionStyleNone;
switch (indexPath.row) {
...
((TagDetailCell*)cell).fieldLabel.text= ...;
((TagDetailCell*)cell).fieldValue.clearButtonMode=UITextFieldViewModeWhileEditing;
((TagDetailCell*)cell).fieldValue.text=...;
[((TagDetailCell*)cell).fieldValue addTarget:self action:@selector(textFieldChanged:) forControlEvents:UIControlEventEditingChanged];
...
}
return cell;
}
我没有实现 UITextField 的任何代表。我是不是该?