ios-iOS lable怎么实现复制粘贴选择全选

问题描述

iOS lable怎么实现复制粘贴选择全选

开发中遇到 要求lable 要求可以选择全选 也就是select方法的实现 各位大牛 求解答

解决方案

代码直接发你,将就着看下 ,自定义一个 uilabel就行
//
// Cuslabel.m
// test
//
// Created by mac on 15-3-21.
// Copyright (c) 2015年 mac. All rights reserved.
//

#import "Cuslabel.h"

@implementation Cuslabel

  • (id)initWithFrame:(CGRect)frame
    {
    self = [super initWithFrame:frame];
    if (self)
    {
    [self attachTapHandler];
    }
    return self;
    }

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.

  • (void)drawRect:(CGRect)rect
    {
    // Drawing code
    }
    */

//为了能接收到事件(能成为第一响应者),我们需要覆盖一个方法:

-(BOOL)canBecomeFirstResponder
{
return YES;
}

//还需要针对复制的操作覆盖两个方法:

// 可以响应的方法
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
return (action == @selector(copy:));

}

//针对于响应方法的实现
-(void)copy:(id)sender
{
UIPasteboard *pboard = [UIPasteboard generalPasteboard];
pboard.string = self.text;
}

//有了以上三个方法,我们就能处理copy了,当然,在能接收到事件的情况下:

//UILabel默认是不接收事件的,我们需要自己添加touch事件
-(void)attachTapHandler
{
self.userInteractionEnabled = YES; //用户交互的总开关
// UITapGestureRecognizer *touch = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
// touch.numberOfTapsRequired = 2;

UILongPressGestureRecognizer  *jk=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleTap:)];
[self addGestureRecognizer:jk];

// [UIResponder ]

}
//绑定事件
-(void)handleTap:(UIGestureRecognizer*) recognizer
{
[self becomeFirstResponder];
// UIMenuItem *copyLink = [[UIMenuItem alloc] initWithTitle:@"复制"
// action:@selector(copy:)];
// [[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObjects:copyLink, nil]];
[[UIMenuController sharedMenuController ] setTargetRect:self.frame inView:self.superview];
[[UIMenuController sharedMenuController] setMenuVisible:YES animated: YES];
}
//同上
-(void)awakeFromNib
{
[super awakeFromNib];
[self attachTapHandler];
}

@end

解决方案二:

那就用 TextView 啊,设置成不可编辑就相当于 label 使用了

时间: 2024-10-21 19:51:30

ios-iOS lable怎么实现复制粘贴选择全选的相关文章

Android中解决EditText放到popupWindow中,原有复制、粘贴、全选、选择功能失效问题_Android

1.原来是将EditView放到了popupwindow,发现EditView原有的复制.粘贴.全选.选择功能失效了,所以便用DialogFragment代替了popupWindow 直接上代码 ①.先看布局文件 <?xml version="." encoding="utf-"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

javascript 复选框选择/全选后特效_表单特效

运行效果 删除 商品 价钱 数量 总共 高级减肥绿茶 $8000 $160000 高级红茶 $8400 $8400 总共: 21 $168400 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

iOS UIWebView实现禁止用户复制剪切功能_IOS

前言 在APP的混合模式开发,Android开发中有WebView作为混合模式开发的桥梁,当然在IOS中也同样有一个 UIWebView 组件来作为混合模式开发的桥梁,用过UIWebView组件的开发者都知道,当UIWebView加载显示HTML页面时,组件本身提供了一些系统默认的交互行为,这篇文章给大家分享的是iOS UIWebView实现禁止用户复制剪切功能,下面来一起看看. 示例代码 // 控制器实现此方法 - (BOOL)canPerformAction:(SEL)action with

c语言-基于C语言,用蚁群算法求最优路径。百度复制粘贴的别来了。。。要求可以直接运行的代码哈

问题描述 基于C语言,用蚁群算法求最优路径.百度复制粘贴的别来了...要求可以直接运行的代码哈 一个人从上海大学出发,经过若干个地点,路线不重复走,最后回到上海大学,找三条优化路线. 上海大学:北纬N31°19′5.86″ 东经E121°23′21.52″ 星雨城:北纬N31°19′46.58″ 东经E121°24′9.29″ 大康公寓:北纬N31°19′18.88″ 东经E121°25′3.98″ 文景楼:北纬N22°35′23.78″ 东经E113°52′50.67″ 大场中学:北纬N31°

Word中复制粘贴后MathType公式乱码怎么办

  MathType公式复制到Word中后乱码示例 出现此种问题的原因一般来说,是Mathtype复制粘贴格式设置错误,解决方法如下: 1.在MathType编辑窗口中,选择"预置"--"剪切和复制预置". 选择"预置"中的"剪切和复制预置" 2.在剪切和复制预置窗口中选择"公式对象",确定即可.此时再复制公式到Word中就不会出现之前的情况了. 在"剪切和复制预置"中选择"公

用WPS文字复制粘贴和移动文字

  WPS文字中复制和粘贴文字还是很方便的. 这里小编根据应用的区域的不同提供了两种复制或移动文字的实现方式: 1.在同一窗口中移动或复制项 选取要复制或移动的项. 请执行下列操作之一: 若要进行复制,请在"开始"选项卡上的"剪贴板"组中,单击"复制"或使用快捷键 Ctrl + C. 若要进行移动,请在"开始"选项卡上的"剪贴板"组中,单击"剪切"或使用快捷键 Ctrl + X. 单击要

在Mac中使用Ctrl+C/V进行复制/粘贴

从Windows世界走入Mac世界,最让不习惯的是在Mac中"复制/粘贴"的快捷 键是Command+C/V.而且Command键与C/V键靠得太近,只能用大拇指与食指进行 操作,也让人不习惯.再加上远程桌面连接至Windows时,只能用Ctrl+C/V进行 复制/粘贴,在两种快捷键之间进行切换也容易让人乱了手指. 今天终于 在superuser网站上找到了解决方法(Remap Copy and Paste shortcuts on a Mac中的第二个回答),设置方法如下: 1. 进

搜狗输入法怎么复制粘贴

  手机搜狗输入法怎么复制粘贴?搜狗拼音输入法是如今主流汉字拼音输入法之一,用户十分广泛.对于手机用户来说,复制黏贴一直都是十分头疼的.你知道吗?不同于电脑操作,其实手机的文字复制粘贴,可以通过手机输入法来方便地实现.那么,具体的操作方法是怎么样的呢?下面,安下小编就给大家带来手机搜狗输入法复制粘贴小技巧,希望可以帮助到大家. 手机搜狗输入法复制粘贴技巧 1.在手机搜狗输入法下,双击文字 2.拖动光标选择要复制的内容 3.点击文字下的[复制]或搜狗输入法工具条按钮 4.选择[复制]即可 二.粘贴

手机搜狗输入法复制粘贴小技巧

  现在,不少人都在使用手游搜狗输入法.不过,对于手机用户来说,复制黏贴一直都是十分头疼的.今天,小编就来跟大家分享手机搜狗输入法复制粘贴小技巧. 一.复制 1.在手机搜狗输入法下,双击文字; 手机搜狗输入法复制粘贴 2.拖动光标选择要复制的内容; 手机搜狗输入法复制粘贴 3.点击文字下的[复制]或搜狗输入法工具条按钮; 4.选择[复制]即可; 手机搜狗输入法复制粘贴 二.粘贴 1.点击需要粘贴的区域; 手机搜狗输入法复制粘贴 2.选择[粘贴]; 手机搜狗输入法复制粘贴小技巧 3.完成文字[粘贴