我被我的单元格选择卡住了。我有UITextView
嵌入对象的自定义单元格。它不可编辑,不可滚动,启用用户交互。而且我无法在此视图上选择单元格。
我尝试过同样的事情,但UITextField
对象和选择有效。
任何想法如何使它工作?
这是测试项目。只有一个表格视图和一个单元格。此单元格中有一个文本视图和一个文本字段。您可以在文本字段上方选择单元格,但不能在文本视图上方选择单元格。
我被我的单元格选择卡住了。我有UITextView
嵌入对象的自定义单元格。它不可编辑,不可滚动,启用用户交互。而且我无法在此视图上选择单元格。
我尝试过同样的事情,但UITextField
对象和选择有效。
任何想法如何使它工作?
这是测试项目。只有一个表格视图和一个单元格。此单元格中有一个文本视图和一个文本字段。您可以在文本字段上方选择单元格,但不能在文本视图上方选择单元格。
关闭文本视图上的“启用用户交互”,选择将正常工作(MainStoryboard.storyboard->Table View Controller->Table View->Table View Section->Custom Table View Cell->Text View)。允许用户在文本视图上进行交互是在表格视图单元格获取它们之前捕获点击。由于您的文本视图不可滚动或不可编辑,因此您不希望启用用户交互。
只是为了解释一下约翰斯蒂芬的答案(据我所知,这是最好的)。
我已经通过子类化UITextView
和覆盖尝试了这个canBecomeFirstResponder
:
@interface MyTextView : UITextView
@end
@implementation MyTextView
- (BOOL)canBecomeFirstResponder {
return NO;
}
@end
我还设置了editable
,selectable
和scrollEnabled
to NO
:
MyTextView *textView = [MyTextView new];
textView.editable = NO;
textView.selectable = NO;
textView.scrollEnabled = NO;
这些都不起作用。:(
John 对 Storyboards for programmatic 解决方案的回答相当于:
textView.isUserInteractionEnabled = false