我正在为基于消息的 iPhone 应用程序工作。在我的应用程序中,我在 UITextView 中加载了消息内容,并在 UITextView 上添加了一个 UIImage。
现在我想通过按住 UITextView 来选择所有UITextView 内容并向用户显示复制选项。当前,当用户按住 UITextView 时,仅选择一些内容
。
有人帮我做这个吗?提前致谢。
编辑:
在 UITableView CellForRowAtIndexPath
委托(delegate)中
customMessageTextView = [[MessageTextView alloc] initWithFrame:CGRectZero];
customMessageTextView.tag = 100;
UIFont *font = [UIFont fontWithName:@"Helvetica" size:15];
customMessageTextView.font = font;
customMessageTextView.scrollEnabled = NO;
customMessageTextView.delegate = self;
customMessageTextView.dataDetectorTypes = UIDataDetectorTypeLink;
[cell.contentView addSubview:customMessageTextView];
[customMessageTextView sizeToFit];
for (UIGestureRecognizer *recognizer in customMessageTextView.gestureRecognizers)
{
if ([recognizer isKindOfClass:[UILongPressGestureRecognizer class]])
{
recognizer.enabled = NO;
}
}
UILongPressGestureRecognizer *myLongPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(selectAllTextFromCustomMessageTextView)];
[customMessageTextView addGestureRecognizer:myLongPressRecognizer];
[myLongPressRecognizer release];
UILongPressGestureRecognizer Action :
-(void) selectAllTextFromCustomMessageTextView
{
NSLog(@"Select All Text Messages");
customMessageTextView.selectedRange = NSMakeRange(0, customMessageTextView.text.length);
}
最佳答案
如果我对您的理解是正确的,您希望在按住 UITextView
(即放大镜等)时禁用标准行为。也许您甚至禁用了编辑选项。如果是这样,您应该将 UILongPressGestureRecognizer
添加到您的 UITextView
。您可能必须禁用默认内置于 UITextView
中的 UILongPressGestureRecognizer
。您可以找到一种方法来做到这一点 here .
然后在您的 UILongPressGestureRecognizer
操作方法中,您只需选择 View 中的所有文本:
[textView selectAll:self];
请注意,这将调出复制/剪切/粘贴 菜单。但是,如果您的 TextView 确实禁用了用户编辑,则菜单将仅包含复制。
关于iphone - 如何通过按住选择所有 UITextview 内容并通过编程方式显示复制选项 iphone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12345385/