UIMenuController和UIMenuItem的使用

本文介绍了UIMenuController的基本用法,包括如何创建、设置显示位置及可见性,并通过实例展示了如何设置数据源和调用相关方法。适用于iOS开发者快速上手UIMenuController组件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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];

    }

}

 
 
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值