iphone - 如何通过按住选择所有 UITextview 内容并通过编程方式显示复制选项 iphone?

标签 iphone ios uitextview textselection

我正在为基于消息的 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/

相关文章:

iphone - 使用 ifstream 读写二进制字符串的正确格式

ios - 如何从服务器在 iphone 中进行直播?

ios - 如何在 Xcode 10 中打开 Xcode 11 Beta 4 项目?

ios - React Native 如何强制重新加载应用程序或 Root View

ios - 检测 UITextView 滚动位置

iphone - AFNetworking 自动将请求包装在 JSON 中?

iphone - 必须更改语言后刷新导航返回按钮的标题

iphone - 将数组从 NSObject 传递到 View Controller

ios - 如何在 UITextView 中水平居中一行文本?

swift - UITextView 文本从中间而不是顶部开始