2011-12-26 3 views
5
에 나는 그것이 만듭니다 인덱스 페이지 링크 내가 (길게 누름)를 클릭 할 때마다 지금 웹보기에 UIWebView.In에 내 응용 프로그램 내가 만든 전자 책

아이폰 :있는 UIWebView

를 이메일과 같은 팝업 버튼을 데려 가고 싶다는

을 버튼을 팝업 아래 shwon으로 열고 복사 버튼을 최대 팝업

창 : 내가 웹보기에서 팝업 창에서 다른 버튼을 만들고 전자 메일 및 Print.How 같은 다른 버튼을 데려 가고 싶다는이 같이 enter image description here

감사합니다 미리!

답변

5

참조하는 팝업을 UIMenuController이라고합니다. [UIMenuController sharedMenuController] 메서드에 액세스하여 메뉴 컨트롤러를 가져올 수 있습니다. 그런 다음 자신의 UIMenuItems을 메뉴 컨트롤러에 추가 할 수 있습니다.

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]; 

이제 긴 제스처

구현할 수 apple's Doc.

편집에서 더 자세한 사항을 참조 방법을

- (void) onButton1: (UIMenuController*) sender 
{ 
} 

- (void) onButton2: (UIMenuController*) sender 
{ 
} 

을 구현

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

을 보일 것이다하지만 어떻게 내가 길게 누름을 식별 할 수있는 팝 오버를 시작할 수 있습니다 이벤트? Bcoz webview에는 링크에서 (길게 누름) 열기 및 복사 버튼을 만드는 내장 된 기능이 있습니다. – Developer

+0

업데이트 된 답변 확인 – Maulik

+0

onShowMenu 메서드에서 사용자 지정 단추를 만들 수 있습니다. – Maulik

1

보기 컨트롤러를 만들 수 있으며보기 컨트롤러의 .xib 파일에 단추를 추가 할 수 있습니다.

그러면 UIPopover에서 해당 viewcontroller를 호출하고 뷰 컨트롤러를로드 할 수 있습니다.

이제 색인 페이지에서만이 팝업을 표시하려고하므로 1-3 페이지 양식과 같은 페이지 추적을 색인 페이지로 유지해야하므로 해당 페이지에 popOver가 표시되어야합니다. 및 인덱스 링크를 클릭 할 때 당신은 당신이 당신의 논리를 적용 할 수있는이 기능에서

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

즉, 웹보기 위임 기능을 사용하고