【问题标题】:UITableViewCell selection over UITextViewUITextView 上的 UITableViewCell 选择
【发布时间】:2011-08-31 18:17:30
【问题描述】:
我被我的单元格选择卡住了。我有嵌入UITextView 对象的自定义单元格。它不可编辑,不可滚动,启用用户交互。而且我无法在此视图上选择单元格。
我尝试过同样的事情,但 UITextField 对象和选择工作正常。
任何想法如何使它工作?
This is the test project。只有一个表格视图和一个单元格。此单元格中有一个文本视图和一个文本字段。您可以在文本字段上方选择单元格,但不能在文本视图上方选择单元格。
【问题讨论】:
标签:
objective-c
ios
uitableview
uiresponder
【解决方案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
我还将editable、selectable 和scrollEnabled 设置为NO:
MyTextView *textView = [MyTextView new];
textView.editable = NO;
textView.selectable = NO;
textView.scrollEnabled = NO;
这些都不起作用。 :(