【发布时间】:2011-01-07 16:05:50
【问题描述】:
Apple 不为UITextView 提供触摸事件处理。我正在开发的项目包括可读和可编辑的注释,我使用的是UITextView。请帮我解决这个问题——如何为我的项目获取触摸事件?
【问题讨论】:
标签: objective-c cocoa-touch ios uitextview touch-event
Apple 不为UITextView 提供触摸事件处理。我正在开发的项目包括可读和可编辑的注释,我使用的是UITextView。请帮我解决这个问题——如何为我的项目获取触摸事件?
【问题讨论】:
标签: objective-c cocoa-touch ios uitextview touch-event
根据 Apple 文档,您可以为 UITextView 设置委托并实现 UITextViewDelegate。
具体来说,您可以通过实现 textViewShouldBeginEditing 来确定 UITextView 是否被触摸。
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView;
请务必在 UITextView 上设置委托属性以捕获事件。
【讨论】:
只是想补充凯文的答案。 UITextView 继承自 UIScrollView。您应该获得在 UIScrollViewDelegate 协议中为文本视图声明的所有事件。
我明白了:
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
当我将我的班级声明为 UITextView 的代表时。
【讨论】:
我用自己的逻辑解决了这个问题。
在阅读时,我们在textview 上添加Custom View 并使用这些方法:
(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
但是当我们处于编辑模式时,就不可能了。无论如何,我的要求只是在可读模式下。
感谢您对解决问题的所有支持。
【讨论】:
创建自定义文本视图并在自定义类中提供触摸事件。然后您可以在该自定义类的委托中创建方法。
【讨论】: