复制粘贴功能
来源:互联网 发布:休斯顿国际电影节知乎 编辑:程序博客网 时间:2024/05/19 13:46
样式:
- (void)awakeFromNib{ // 给Label添加手机 [self addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelClick)]];}- (void)initWithFrame:(CGRect)rect{ if(self = [super initWithFrame:rect]){ // 给Label添加手机 [self addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(labelClick)]]; }}- (void)labelClick{ // 让label成为第一响应者 [self becomeFirstResponder]; // 获得菜单 UIMenuController *menu = [UIMenuController sharedMenuController]; // 设置菜单内容,显示中文,所以要手动设置app支持中文 menu.menuItems = @[ [[UIMenuItem alloc] initWithTitle:@"顶" action:@selector(ding:)], [[UIMenuItem alloc] initWithTitle:@"回复" action:@selector(reply:)], [[UIMenuItem alloc] initWithTitle:@"举报" action:@selector(warn:)] ]; // 菜单最终显示的位置 [menu setTargetRect:self.bounds inView:self]; // 显示菜单 [menu setMenuVisible:YES animated:YES];}#pragma mark - UIMenuController相关/** * 让Label具备成为第一响应者的资格 */- (BOOL)canBecomeFirstResponder{ return YES;}/** * 通过第一响应者的这个方法告诉UIMenuController可以显示什么内容 */- (BOOL)canPerformAction:(SEL)action withSender:(id)sender{ if ( (action == @selector(copy:) && self.text) // 需要有文字才能支持复制 || (action == @selector(cut:) && self.text) // 需要有文字才能支持剪切 || action == @selector(paste:) || action == @selector(ding:) || action == @selector(reply:) || action == @selector(warn:)) return YES; return NO;}#pragma mark - 监听MenuItem的点击事件- (void)cut:(UIMenuController *)menu{ // 将label的文字存储到粘贴板 [UIPasteboard generalPasteboard].string = self.text; // 清空文字 self.text = nil;}- (void)copy:(UIMenuController *)menu{ // 将label的文字存储到粘贴板 [UIPasteboard generalPasteboard].string = self.text;}- (void)paste:(UIMenuController *)menu{ // 将粘贴板的文字赋值给label self.text = [UIPasteboard generalPasteboard].string;}- (void)ding:(UIMenuController *)menu{ NSLog(@"%s %@", __func__, menu);}- (void)reply:(UIMenuController *)menu{ NSLog(@"%s %@", __func__, menu);}- (void)warn:(UIMenuController *)menu{ NSLog(@"%s %@", __func__, menu);}@end
0 0
- 复制-粘贴功能
- Android复制粘贴功能
- 实现 复制 粘贴功能
- 文本复制粘贴功能
- 复制粘贴功能
- JS实现复制/粘贴功能
- JS实现复制/粘贴功能
- javascript实现复制粘贴功能
- 远程桌面开启“复制粘贴”功能
- 远程桌面开启“复制粘贴”功能
- android 复制 粘贴 功能实现
- swt.中的复制粘贴功能
- 远程桌面开启“复制粘贴”功能
- UITextField 禁用复制粘贴功能
- Android实现复制粘贴功能
- JS实现复制粘贴功能
- UITextField关闭粘贴复制功能
- c#屏蔽复制粘贴功能
- 百度统计代码导致wordpress静态文件使用二级域名有cookie
- jsoncpp linux平台编译和 arm移植
- seesaw v2简单部署
- Linear Algebra - Lesson 23. 微分方程和exp(At)
- Lombok Requires Annotation Processing Annotation processing seems to be disabled for the project "xx
- 复制粘贴功能
- BigDecimal用法之计算等额本金和等额本息
- SPSS:T检验、方差分析、非参检验、卡方检验的使用要求和适用场景
- 浅析Fragment中startActivityForResult()与getActivity().startActivityForResult()的异同
- MCWebBridgeNative ,webview内容与本地交互,有非常非常爽的功能 (附 源码)
- RabbitMQ案例七之RPC远程过程调用
- 代理Hook
- React Native 中遇到的问题
- Mysql-Client编码问题