Cửa sổ bật lên bạn tham chiếu được gọi là UIMenuController
. Bạn có thể truy cập phương thức [UIMenuController sharedMenuController]
để có trình điều khiển menu. Sau đó, bạn có thể thêm UIMenuItems
của riêng mình vào trình điều khiển menu.
UIMenuItem* myBtn1 = [[[UIMenuItem alloc] initWithTitle: @"Button 1" action:@selector(onButton1:)] autorelease];
UIMenuItem* myBtn2 = [[[UIMenuItem alloc] initWithTitle: @"Button 2" action:@selector(onButton2:)] autorelease];
UIMenuController* mc = [UIMenuController sharedMenuController];
mc.menuItems = [NSArray arrayWithObjects: myBtn1, myBtn2, nil];
Bây giờ thực hiện các phương pháp
- (void) onButton1: (UIMenuController*) sender
{
}
- (void) onButton2: (UIMenuController*) sender
{
}
Để cụ thể hơn tham khảo apple's Doc.
Sửa
bạn có thể thực hiện lâu Gesture
UILongPressGestureRecognizer* gr = [[[UILongPressGestureRecognizer alloc] initWithTarget: self action: @selector(onShowMenu:) ] autorelease];
[_myview addGestureRecognizer: gr];
- (void) onShowMenu: (UIGestureRecognizer*) sender
{
[sender.view becomeFirstResponder];
UIMenuController* mc = [UIMenuController sharedMenuController];
CGRect bounds = sender.view.bounds;
[mc setTargetRect: sender.view.frame inView: sender.view.superview];
[mc setMenuVisible: YES animated: YES];
}
Nhưng làm thế nào tôi có thể xác định Press dài Bcoz webview có chức năng sẵn có để tạo nút mở và sao chép bằng cách nhấn (Nhấn và giữ) trên liên kết. – Developer
kiểm tra câu trả lời cập nhật – Maulik
trong phương pháp onShowMenu, bạn có thể tạo các nút tùy chỉnh của mình. – Maulik