我在UITextView
内有UITableViewCell
个子视图。当用户点击单元格时,我选择它,即我将背景图像切换到选定状态。 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];
}
}
答案 0 :(得分: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中切换图像:动画:
- (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];
}
答案 1 :(得分:2)
你的光标没有消失也许是白色的! 尝试:[self.tableView setTintColor:[UIColor redColor]];
答案 2 :(得分:1)
您可以尝试在selected
协议方法UITableViewCell
中设置UITextViewDelegate
的{{1}}属性。
如果这不起作用,请创建一个textViewDidBeginEditing:
作为您单元格的子视图,并更改上述方法中的内容。
答案 3 :(得分:0)
当您选择单元格时,textView成为第一个响应者,但光标已被隐藏,您可以取消选择该单元格,然后光标将显示。