我这里用了一个按钮,点击按钮的时候给弹出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的背景色,默认是黑色的,但是不知道怎么改动,如果你有办法请给我留言,谢谢!