// 按鈕點擊事件
- (void)testMenuClicke:(UIButton *)btn{undefined
UIMenuController *menu = [UIMenuController sharedMenuController];
[menu setTargetRect:btn.frame inView:btn.superview];
// [UIMenuController sharedMenuController].arrowDirection = UIMenuControllerArrowRight;
UIMenuItem * item = [[UIMenuItem alloc] initWithTitle:@"複製" action:@selector(copys:)];
UIMenuItem * item1 = [[UIMenuItem alloc] initWithTitle:@"粘貼" action:@selector(pastes:)];
UIMenuItem * item2 = [[UIMenuItem alloc] initWithTitle:@"刪除" action:@selector(deletes:)];
[menu setMenuItems:@[item, item1,item2]];
[menu setMenuVisible:YES animated:YES];
//[[UIMenuController sharedMenuController] update];
//menu.arrowDirection = UIMenuControllerArrowLeft;
}
// 需要設置以下兩個方法
// 不設置這個方法,會導致無法調出menu菜單
- (BOOL)canBecomeFirstResponder {undefined
return true;
}
// 再此方法中判斷允許的方法,否則菜單項不彈出
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {undefined
// UIResponder
if(action == @selector(copys:) ||
action == @selector(pastes:) ||
action == @selector(deletes:)) {undefined
return YES;
}
return NO;
}
// 實現方法,完成功能
- (void)copys:(id)sender {undefined
// UIPasteboard * paste = [UIPasteboard generalPasteboard];
// paste.string = self.text;
NSLog(@"copy");
}
- (void)pastes:(id)sender {undefined
// UIPasteboard * paste = [UIPasteboard generalPasteboard];
// self.text = paste.string;
NSLog(@"paste");
}
- (void)deletes:(id)sender {undefined
// self.text = @"";
NSLog(@"delete");
}