【问题标题】:How to make UITextView text all selectable and show copy option to the user iPhone app?如何使 UITextView 文本全部可选并向用户 iPhone 应用程序显示复制选项?
【发布时间】:2012-09-06 09:07:32
【问题描述】:

我在 iPhone 应用程序中工作,例如 iMessage 原生应用程序。我设计了一个看起来像 iMessage 的页面,还添加了一个气泡。我是怎么做的,只是加了一个UITextView in UITableView Cell and also i have added UIImageView on UITextView with bubble images

将文本从 NSMutableArray 加载到 UITextView。它工作正常。现在我的疑问是:

  1. 在 iMessage 应用程序中,他们设置了 when the user hold the bubble they making the text as selectable and showing Copy option。在我的应用程序when the user hold a bubble the Copy option showing but some particular text only copying。如何选择所有文本并向用户显示复制选项?

  2. 在 iMessage 应用程序中,选择区域(选择开始和选择结束两行)未显示。但在我的应用中,selection regions are showing how can i manage that?

您能帮我解决这个问题吗?提前致谢。

【问题讨论】:

    标签: iphone ios select uiimageview uitextview


    【解决方案1】:

    最后我解决了我在下面代码中使用的问题。现在可以从 UITextView 中选择所有内容并向用户显示复制选项以复制消息。请找到代码供您参考。

    - (BOOL)canPerformAction:(SEL)action withSender:(id)sender
    {
        if (action == @selector(copy:))
        {
            [self selectAll:self];
    
            return YES;
        }
        else if (action == @selector(cut:))
        {
            return NO;
        } 
            return NO;
    }
    
    
    - (void)copy:(id)sender 
    {
        UIPasteboard *pastBoard = [UIPasteboard generalPasteboard];
        [pastBoard setString:self.text];
        self.selectedTextRange = nil;
    }
    

    快乐编码。

    【讨论】:

      【解决方案2】:

      这里,如何在UITextView中选择文本

      [textView setSelectedRange:NSMakeRange(row, length)];
      

      其中,row 表示您要从哪一行开始选择。 length 是文本的总长度。

      e.g. [textView setSelectedRange:NSMakeRange(1, 45)]; // where 1 is first row, and 45 is length of text of selection.
      

      【讨论】:

      • 感谢您的回答。我已禁用 UITableview 选择。所以我无法获得该行。任何想法?再次感谢。
      • @Yuvaraj.M,您不应该从您的UITableView 中获取row,而是从您的UITextView 中获取。
      • 好的,谢谢。所以我必须像NSMakeRange(0,文本长度)一样编码。不是吗?
      • @Yuvaraj.M,没错!如果不考虑 01 为第一 row :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 1970-01-01
      • 2018-01-27
      相关资源
      最近更新 更多