4

UITextViewUITableViewCell. 当用户点击单元格时,我选择它,即将背景图像切换到选定状态。成为第一UITextView响应者,但光标被隐藏。当我禁用单元格选择时, UITextView 会显示一个没有问题的光标。

如何选择单元格并UITextView使用可见光标开始编辑?:)

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    if (selected && ![textView isFirstResponder]) {
        [textView setUserInteractionEnabled:YES];
        [textView becomeFirstResponder];
    } else {
        [textView resignFirstResponder];
        [textView setUserInteractionEnabled:NO];
    }
}
4

4 回答 4

4

当我设置时,单元格停止隐藏光标。

cell.selectionStyle = UITableViewCellSelectionStyleNone;

但在那之后,单元格也停止使用 selectedBackgroundView。所以我将图像设置为 backgroundView 的突出显示状态。

cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"input_up.png"] highlightedImage:[UIImage imageNamed:@"input_up_act.png"]] autorelease]; 

并在 setSelected:animated 中切换图像:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    if (selected && ![textView isFirstResponder]) {
        [textView setUserInteractionEnabled:YES];
        [textView becomeFirstResponder];
    } else {
        [textView resignFirstResponder];
        [textView setUserInteractionEnabled:NO];
    }

    [(UIImageView *)self.backgroundView setHighlighted:selected];
}
于 2012-06-15T12:33:35.140 回答
2

你的光标没有消失也许不是白色的!尝试:[self.tableView setTintColor:[UIColor redColor]];

于 2013-10-28T11:51:09.887 回答
1

您可以尝试设置协议方法内部的selected属性。UITableViewCellUITextViewDelegatetextViewDidBeginEditing:

如果这不起作用,请创建一个UIImageView作为单元格的子视图并在上述方法中更改其内容。

于 2012-06-15T08:10:20.720 回答
0

当您选择单元格时,文本视图将成为第一响应者,但是光标已被隐藏,您可以取消选择单元格,然后将显示光标。

于 2012-06-15T09:05:47.260 回答