UITextView 上的 UITableViewCell 选择

Posted

技术标签:

【中文标题】UITextView 上的 UITableViewCell 选择【英文标题】:UITableViewCell selection over UITextView 【发布时间】:2011-08-31 18:17:30 【问题描述】:

我被我的单元格选择卡住了。我有嵌入UITextView 对象的自定义单元格。它不可编辑,不可滚动,启用用户交互。而且我无法在此视图上选择单元格。

我尝试过同样的事情,但 UITextField 对象和选择工作正常。

任何想法如何使它工作?

This is the test project。只有一个表格视图和一个单元格。此单元格中有一个文本视图和一个文本字段。您可以在文本字段上方选择单元格,但不能在文本视图上方选择单元格。

【问题讨论】:

【参考方案1】:

在您的文本视图上关闭“启用用户交互”,选择将正常工作(MainStoryboard.storyboard->Table View Controller->Table View->Table View Section->Custom Table View Cell->Text View)。允许用户在文本视图上进行交互是在表格视图单元格获取它们之前捕获点击。由于您的文本视图不可滚动或不可编辑,因此您不希望启用用户交互。

【讨论】:

【参考方案2】:

只是为了解释一下John Stephen's answer (which is the best as far as I can tell)。

我已经通过子类化UITextView 并覆盖canBecomeFirstResponder 来尝试这个:

@interface MyTextView : UITextView

@end

@implementation MyTextView

- (BOOL)canBecomeFirstResponder 
  return NO;


@end

我还将editableselectablescrollEnabled 设置为NO

MyTextView *textView = [MyTextView new];
textView.editable = NO;
textView.selectable = NO;
textView.scrollEnabled = NO;

这些都不起作用。 :(

【讨论】:

【参考方案3】:

程序化解决方案的John's answer for Storyboards 的等价物是:

textView.isUserInteractionEnabled = false

【讨论】:

以上是关于UITextView 上的 UITableViewCell 选择的主要内容,如果未能解决你的问题,请参考以下文章

如何将 UITextView 添加到 UITableView 详细信息

通过 UITextView 内容大小调整 UITableView 单元格的大小

是否有任何通用解决方案可以在屏幕上的键盘上方滚动 UITextView 和 UITextField

将 UITextView 放在 UITableView 页脚中

UITableview swift中的UITextview高度

如何在 swift 中从 uitableview 转到 uitextview 并使用 nsattributedtext 属性