iOS中UIMenuController基本使用

本文介绍如何在iOS应用中自定义UIMenuController的背景色,并实现菜单项的操作,如删除、复制和取消。

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

我这里用了一个按钮,点击按钮的时候给弹出UIMenuController控件


下面的代码是按钮触发事件:

-(void)showPopupView:(UIButton *)button

{

    button.selected = !button.selected;

    //必须要有,如果要UIMenuController显示

    [self becomeFirstResponder];

    

    _menuController = [UIMenuController sharedMenuController];

    

    UIMenuItem *menuitem_01 = [[UIMenuItem alloc] initWithTitle:@"delete" action:@selector(deleteAction)];

    UIMenuItem *menuitem_02 = [[UIMenuItem alloc] initWithTitle:@"copy" action:@selector(copyAction)];

    UIMenuItem *menuitem_03 = [[UIMenuItem alloc] initWithTitle:@"cancel" action:@selector(cancelAction)];

    

    _menuController.menuItems = [NSArray arrayWithObjects:menuitem_01, menuitem_02, menuitem_03, nil];

    

    [_menuController setTargetRect:CGRectMake(button.frame.origin.x, button.frame.origin.y, button.frame.size.width, 30) inView:self.view];

    

    [_menuController setMenuVisible:YES animated:YES];

}


//必须要有,如果要UIMenuController显示

-(BOOL)canBecomeFirstResponder

{

    return true;

}


//监听自己的定义事件,是 return YES  return NO 即移除系统;

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender

{

    if (action == @selector(deleteAction) || action == @selector(copyAction) || action == @selector(cancelAction)) {

        return YES;

    }

    return NO;

}




我想改变下UIMenuController的背景色,默认是黑色的,但是不知道怎么改动,如果你有办法请给我留言,谢谢!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值