UIMenuController在label中的使用
要想在label中使用 必须是继承于label的分类
//
// MYlabel.m
// MenuController
//
// Created by 张明 on 16/3/8.
// Copyright © 2016年 张明. All rights reserved.
//
#import "MYlabel.h"
@implementation MYlabel
- (void)awakeFromNib
{
[self setup];
}
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self setup];
}
return self;
}
- (void)setup
{
self.userInteractionEnabled = YES;
[self addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelClick)]];
}
/*
让label有资格成为第一响应者
*/
- (BOOL)canBecomeFirstResponder
{
return YES;
}
- (void)labelClick
{
//1.label要成为第一响应者(作用是:告诉UIMenuController支持哪些操作,这些操作如何处理)
[self becomeFirstResponder];
//2.显示MenuController
UIMenuController *menu = [UIMenuController sharedMenuController];
//targetRect :MenuController需要指向的矩形框
//targetview:targetrect会以targetview的左上角为坐标原点
[menu setTargetRect:self.bounds inView:self];
[menu setMenuVisible:YES animated:YES];
}
/*
label能执行哪些操作(比如copy.paste 等等)
@return YES:支持这种操作
*/
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(cut:) || action == @selector(copy:) || action == @selector(paste:)) return YES;
return NO;
}
- (void)copy:(id)sender
{
//将自己的文字赋值到粘贴板
UIPasteboard *board = [UIPasteboard generalPasteboard];
board.string = self.text;
}
- (void)cut:(id)sender
{
//将自己的文字赋值到粘贴板
[self copy:sender];
//清空文字
self.text = nil;
}
- (void)paste:(id)sender
{
//将粘贴板的文字复制到自己身上
UIPasteboard *board = [UIPasteboard generalPasteboard];
self.text = board.string;
}
@end
转载于:https://www.cnblogs.com/zmloveworld/p/5255598.html
UIMenuController在label中的使用相关推荐
- Linux下vi修改行距,调整label中text显示的行间距
iOS UILabel UITextView UIButton 等等显示文本行间距 iOS UILabel UITextView UIButton 等等显示文本行间距都用如下方法 NSMutable ...
- QT 中 界面中消息的停留时间解决方案 以及 label 中字体大小和换行设置
QT 中 界面中消息的停留时间解决方案 以及 label 中字体大小和换行设置 参考文章: (1)QT 中 界面中消息的停留时间解决方案 以及 label 中字体大小和换行设置 (2)https:// ...
- python怎么改字体_python,tkinter_Tkinter Label 如何改变Label中的文字样式,例如给文字加删除线,python,tkinter - phpStudy...
Tkinter Label 如何改变Label中的文字样式,例如给文字加删除线 如题.未查到Tkinter下,促发条件后,是否能修改label中文字的样式 class Pomodoro_app(Tk) ...
- iostext添加点击事件_iOS开发小技巧 - label中的文字添加点击事件
Label中的文字添加点击事件 以前老师讲过类似的功能,自己懒得回头看了,找了很多第三方的,感觉这个小巧便利,作者只是扩展了分类,实现起来代码也少.先来个效果图 自己的项目,直接上代码 - (void ...
- QT界面:重写鼠标事件/实时显示Label中鼠标位置
为了在QT UI界面的状态栏实时显示鼠标在Label中的位置,需要重写鼠标事件MouseMoveEvent(). 但是MouseMoveEvent为了不过多消耗资源,默认需要鼠标按下捕捉到.因此需要在 ...
- java里怎么使字居中显示,JAVA怎样使Label中的文字居中对齐!
优质回答 回答者:Catsayer丷 请看API Label中静态变量 static int CENTER 指示标签文本应居中. static int LEFT 指示标签文本应左对齐. static ...
- iOS项目开发实战——Label中字体字号与Label多行显示
我们如何通过OC代码来设置Label中显示的文本呢?代码如下: #import "ViewController.h"@interface ViewController ()@end ...
- 自定义UI控件:继承UIlabel,使label中的文字居上,居中,居下
一般来说,在ios里面label中的文字垂直方向上是默认居中的,如果想要设置居上或者居下,在xib文件里面不能设置,只能自定义一个UI控件. label文字的水平位置,可以在xib文件中直接设置. i ...
- randint函数 在tkinter.label 中的应用
关键词:randint函数 label font 字体.大小 tk .Label( text, font = (字体, 大小, 样式) import random # randint函数,来自rand ...
最新文章
- Xtrabackup bug记录
- 全球及中国管道运输行业建设发展与投资战略规划报告2022版
- python人脸识别源码_Python 抖音机器人,让你找到漂亮小姐姐
- Helm 3 完整教程(一):Helm 3 简介
- ppt倒计时3分钟_老板发来200页PPT文件,让我翻译成英文,3分钟教你搞定
- 程序员的生活照,最后一个绝了!有同感吗?
- System进程下vibran_drv.sys CPU占用率高
- 物理学家用AI改写教科书!质子中发现新的夸克,可能性高达99.7%
- 植物大战僵尸存档关卡和金币修改
- 限制Editext输入字节长度
- github问题之Unable to retrieve your user info from the server
- SEO的职业发展规划及SEO优化未来的发展方向是什么?
- CMAP1000-05气象数字压力校验系统
- 《计算机应用基础》第04章在线测试,《计算机应用基础》在线测试.doc
- VS2008的安装注意事项
- html手机上传图片去除拍照,HTML5手机拍照上传
- SRS4.0源代码分析之RTMP拉流处理
- Jinja2+django+uwsgi+nginx
- SOA精华的内容和实用的知识
- 2019-10-28-dotnet-代码调试方法
热门文章
- Spring MVC 流程图解析
- 流浪的python博客园_python学习心得第一章
- python sns绘制回归线_Python数分实战:员工流失情况预测
- JAVA中自己写的util中的chop,Java StringUtils.chop方法代碼示例
- slope one 推荐算法python 代码_协同推荐算法实践之Slope One的介绍(转)
- oc 画一个圆弧_SolidWorks一步扫描特征,就可以画出一个螺母,你有思路吗
- Linux启动tomcat命令行关闭后服务会停止
- Linux上下载chronyd安装包,如何在Linux中安装和使用Chrony时间同步
- c语言项开发班级登入系统,c语言--班级管理系统
- 东北大学c语言真题及答案,东北大学C语言总测试题(含答案).pdf