我想摆脱 UITextView 中的放大和文本选择,但我需要电话号码、链接和地址检测器。我正在使用
-(void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer {
if ([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]]) {
gestureRecognizer.enabled = NO;
}
[super addGestureRecognizer:gestureRecognizer];
return;}
停止放大,但它也会停止 TextView 检测到的选择电话号码/地址/链接。
如果我执行 [_txtView setSelectable:NO];
它会停止放大和文本选择以及数据检测。
最佳答案
经过相当长时间的尝试,我设法通过重写 UITextView 子类上的 addGestureRecognizer 来停止文本选择、放大和保持数据检测(链接可点击等),只允许 UILongPressGestureRecognizer 延迟触摸结束:
UIUnselectableTextView.m
-(void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
{
if([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]] && gestureRecognizer.delaysTouchesEnded)
{
[super addGestureRecognizer:gestureRecognizer];
}
}
关于ios - 如何在 UITextView 中禁用放大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24823154/