2011-12-26 28 views
5

Tôi muốn đặt bật lên nút như Email trong UIWebView.In ứng dụng của tôi tôi đã tạo ebookiphone: Bật lên nút trong UIWebView

trong WebView tại bất cứ khi nào tôi bấm (dài báo chí) vào liên kết trang index nó sẽ tạo ra bật lên

cửa sổ với nút mở và sao chép như shwon như sau:? enter image description here

như thế này tôi muốn đặt một nút như Email và Print.How để tạo ra một nút trong cửa sổ bật lên trong WebView Cảm ơn trước!

Trả lời

5

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]; 
} 
+0

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

+0

kiểm tra câu trả lời cập nhật – Maulik

+0

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

1

bạn có thể tạo Bộ điều khiển chế độ xem và trong tệp .xib của bộ điều khiển chế độ xem, bạn có thể thêm các nút của mình.

thì bạn có thể gọi bộ điều khiển xem đó trong UIPopover..và tải bộ điều khiển chế độ xem đó vào đó.

Bây giờ bạn chỉ muốn hiển thị cửa sổ bật lên này trong trang chỉ mục, bạn phải theo dõi các trang như trang 1-3 ở dạng trang chỉ mục để cửa sổ bật lên được hiển thị trên trang đó. và khi bạn nhấp vào liên kết chỉ số bạn có thể sử dụng chức năng WebView đại biểu ví dụ

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 

dưới chức năng này, bạn có thể áp dụng logic của bạn và bắt đầu popover rằng sẽ được nhìn thấy

Các vấn đề liên quan