复制所有文本后隐藏复制和取消选择 UITextView 选项

Posted

技术标签:

【中文标题】复制所有文本后隐藏复制和取消选择 UITextView 选项【英文标题】:Hide Copy and Deselect UITextView options after copying all text 【发布时间】:2012-09-14 09:35:29 【问题描述】:

我正在开发一个消息传递应用程序。当用户在UITextView 中输入他们的消息时,我想给他们一个“复制”选项。当用户按下“复制”按钮时,它正在复制消息,但弹出框一次又一次地显示,并且文本仍然是可选的。

我不知道如何控制。我已经粘贴了一些源代码供您参考。

我为UITextView写了一个子类。

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender

    NSLog(@"Action : %@", NSStringFromSelector(action));
    NSLog(@"Sender : %@", sender);
    if (action == @selector(copy:))
    
        [self selectAll:self];
        //return [super canPerformAction:action withSender:sender];
        return YES;
    
    else if (action == @selector(cut:))
    
        return NO;
     
        return NO;

【问题讨论】:

你试过textView.selectedTextRange = nil; 显示错误:从不兼容的类型“void *”分配给“NSRange”(又名“struct _NSRange”)。但是一旦用户按下复制按钮,我如何隐藏复制选项。任何的想法?谢谢。 谁能帮我解决这个问题?提前致谢。 this question 会帮助你的事业.. 如果没有,那么评论 @Maulik 是的,你是对的。一旦我们通过按下复制按钮从 UITextView 复制文本。这应该是隐藏复制按钮并取消选择所有 UITextview 文本。你能帮帮我吗? 【参考方案1】:

我已经解决了我的问题。我已经用下面的代码来解决了。

- (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;
    [self resignFirstResponder];

感谢Mr.Vimal Venugopalan and Mr.Mrueg。它对我有用。这对某些人会有所帮助。

【讨论】:

【参考方案2】:

如果你使用的是ios5

UITextView 采用UITextInput 协议,该协议具有selectedTextRange 属性。将属性设置为零:

在最后一个return NO上方添加以下代码。

self.selectedTextRange = nil;

希望对你有帮助

【讨论】:

感谢您的回答和链接。我从那里得到了更多的想法。我已经解决了我的问题。再次感谢。 我接受了你的回答。但是我没有正确使用这种方式。你能告诉我如何使用 UITextView。 K i 会从谷歌上看这个。总之谢谢朋友。我希望你将来能帮助我。再次感谢。

以上是关于复制所有文本后隐藏复制和取消选择 UITextView 选项的主要内容,如果未能解决你的问题,请参考以下文章

为啥从网上复制的东西到WORD里面文字格式就变了,显示乱码了呢

如何使用 javascript 隐藏/取消隐藏 div? [复制]

如何不为“复制/粘贴”UITextView 选择文本

yii怎么设置文本框禁止输入,隐藏文本框

如何让PDF文档只能读,不能修改和复制?

怎么禁止文件被复制删除