UIMenuController的方法:

1.创建menucontroller

+ (UIMenuController *)sharedMenuController;

2.设置是否可见

- (void)setMenuVisible:(BOOL)menuVisible animated:(BOOL)animated;

3.设置显示的位置

- (void)setTargetRect:(CGRect)targetRect inView:(UIView *)targetView;

4.有一个存储数据的属性:@property(nullable, nonatomic,copy) NSArray<UIMenuItem *> *menuItems;

 用set方法来调用,例如:

[menu setMenuItems:[NSArray arrayWithObjects:copyItem,resendItem,resendItem1,resendItem2,resendItem3,nil]];

UIMenuItem的使用:

- (instancetype)initWithTitle:(NSString *)title action:(SEL)action;

例子:

//设置menucontroller的数据源

- (NSArray *)showMenuItems

{

NSMutableArray *array = [NSMutableArray array];

UIMenuItem *deleteItem = [[UIMenuItem alloc] initWithTitle:@"删除" action:@selector(deleteItem:)];

[array addObject:deleteItem];

if (_msg.status == EIMAMsg_SendFail)

{

UIMenuItem *resendItem = [[UIMenuItem alloc] initWithTitle:@"重发" action:@selector(resendItem:)];

[array addObject:resendItem];

}

return array;

}

//设置menucoller的属性

- (void)showMenu

{

NSArray *showMenus = [self showMenuItems];

if (showMenus.count)

{

[self becomeFirstResponder];

UIMenuController *menu = [UIMenuController sharedMenuController];

[menu setMenuItems:showMenus];

[menu update];

[menu setTargetRect:_contentBack.frame inView:self.contentView];

[menu setMenuVisible:YES animated:YES];

}

}

UIMenuController和UIMenuItem的使用的更多相关文章

  1. iOS:菜单控制器和菜单项:UIMenuController和UIMenuItem

    菜单控制器和菜单项:弹出自定义的菜单栏窗口 提示: 1. Menu所处的View必须实现 – (BOOL)canBecomeFirstResponder, 且返回YES2. Menu所处的View必须 ...

  2. 关于UIMenuController的使用 弹出菜单 UIMenuItem

    UIMenuController *menuController = [UIMenuController sharedMenuController];        UIMenuItem *menuI ...

  3. iOS 弹出菜单UIMenuController的基本使用

    UIMenuController,弹出菜单@implementation DragView{    CGPoint startLocation;    CGFloat rotation;}-(inst ...

  4. iOS Programming UIGestureRecognizer and UIMenuController

    iOS  Programming  UIGestureRecognizer and UIMenuController A UIGestureRecognizer intercepts touches ...

  5. iOS 学习 - 18.TextField 自定义菜单事件,复制和微信分享

    菜单事件包括,剪切.拷贝.全选.分享...,此 demo 只有 copy.share 1.定义 field 继承与 UITextField - (BOOL)canPerformAction:(SEL) ...

  6. IOS MenuController的部分操作

    这里我们要实现的将是选择按钮的自定义 综合上一节的随笔,这里给出效果图. ViewController.m // // ViewController.m // CX-MenuController // ...

  7. TouchAndGuest触摸事件和手势

    ////  nextViewController.m#import "nextViewController.h"#import "my.h"@interface ...

  8. ios label 简单的长按复制文本信息

    在iOS开发过程中,有时候会用到UILabel展示的内容,那么就设计到点击UILabel复制它上面展示的内容的功能,也就是Label长按复制功能.网上有很多种给Label添加长按复制功能的方法,这里我 ...

  9. 基于系统的UIMenuController的使用及自定义UIMenuItem

    1.前言 在开发中 UIMenuController 用得较少,偶尔遇到了,一时竟想不起来,因此做个回顾 2.系统默认支持 UIMenuController 的UI控件 UITextField UIT ...

随机推荐

  1. jboss4.2.3建立oracle JMS应用

    一.基本配置 1 增加oracle驱动文件,ojdbc6.jar,不能使用小于该版本的jdbc驱动,jboss-4.2.3.GA\server\default\lib 2 增加retrotransla ...

  2. Delphi xe7 FireMonkey / Mobile (Android, iOS)生成 QR Code完整实例

    这个实例在windows.OS X.IOS和Android等平台运行正常.本文参考这个网站提供的方法:http://zarko-gajic.iz.hr/firemonkey-mobile-androi ...

  3. Windows创建文件链接

    Windows平台创建文件.文件夹链接: 测试平台,windows10. D:\>mklink 创建符号链接. MKLINK [[/D] | [/H] | [/J]] Link Target / ...

  4. Asp.Net ORM

    Entity Framework https://msdn.microsoft.com/zh-cn/data/jj193542 NuGet命令获取组件方式: 键入“get-help NuGet”以查看 ...

  5. Xcode 之自己编译静态库

    今天介绍下,如何利用Xcode,新建一个静态库,以及如何编译成i386.armv7.armv7s 等平台架构. 开发环境:MAC OS X 10.9.4 + Xcode 5.0.2 背景知识:库分两种 ...

  6. 对象(List<T>)的序列化和反序列化

    本文描述将对象(List<T>)序列化到 XML 文档中和从 XML 文档中反序列化为对象(List<T>). 命名空间: System.Xml.Serialization 程 ...

  7. Top 10 Free Wireless Network hacking/monitoring tools for ethical hackers and businesses

    There are lots of free tools available online to get easy access to the WiFi networks intended to he ...

  8. How to pass selected records from form to dilog in AX 2012

    static void main(Args args) { FormDataSource formDataSource; ; if(args.record().TableId == tablenum( ...

  9. 深入理解BootStrap之栅格系统(布局)

    1.栅格系统(布局) Bootstrap内置了一套响应式.移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列. 我在这里是把Bootstrap中的栅 ...

  10. JavaScript:JavaScript事件的处理

    JavaScript事件处理 —————事件的处理流程: —————动态事件绑定: —————常用的事件处理. 1.事件的概念 在页面之中,会针对用户的每一个操作进行记录.在页面中的事件可以简单的理解 ...