2011-04-14 5 views
0

내비게이션 컨트롤러가있는 앱이 있습니다. 응용 프로그램이 시작되면 테이블 뷰가로드되고 행을 클릭하고 페이지를로드하는 webview를 엽니 다 (해당 페이지 1로 호출). 페이지 1에는 링크가 포함될 수 있으며 사용자는 링크를 클릭하고 새 페이지가로드됩니다 (페이지 2). 그런 다음 사용자는 page1로 돌아가서 탐색 바의 뒤로 버튼을 클릭합니다. 뒤로 버튼을 클릭하면 page1이 아닌 테이블보기로 이동합니다.NavBar 뒤로 버튼 동작

어떻게 그 동작을 변경하거나 뒤로 단추를 가로 챌 수 있습니까?

답변

1

있는 UIWebView이 속성을 가 'GoBack을'& 'goForward' 난 당신이 다시 & 등을 검색하기위한 별도의 버튼을 만드는 것이 좋습니다 것입니다. 다음 버튼에 대해 다음 작업을 구현하십시오.

  • (공극) actionBackButtonPressed {

    [GoBack을 myWebView];

}

- (무효) actionForwardButtonAction {

[myWebView goForward]; 

}

0

우리는 UIWebViewDelegate webView에서 콘텐츠로드를 추적하는 방법이 있습니다. 따라서, 사용자가 page1의 링크를 탭하면. 방법은 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType이어야합니다. 이 방법에서는 다른 새로운 viewController (page1과 동일)을 만들고 newController를 loadRequest으로 푸시합니다.

감사합니다,

1

당신은 다른 사람들이 가지고있는 대의원 방법 및 사용자 정의 UI를 사용하여있는 UIWebView 탐색을 직접 관리 할 필요가 말하는. 귀하의 질문에 다시 대답하기 : 탐색 항목에서 뒤로 버튼을, 당신은 다시 기본 버튼 동작을 재정의 할 수 없습니다하지만 당신은과 (일반적으로 viewDidLoad 단위) navigationItem에 자신의 버튼을 넣을 수 있습니다 :

UIBarButtonItem *myBackButton = [[UIBarButtonItem alloc] initWith... 
self.navigationItem.leftBarButtonItem = myBackButton; 
[myBackButton release]; 

사용자가 선택할 수있는 init... 방법은 UIBarButtonItem으로 가장 적합합니다. 원하는 경우이 단추를 웹보기와 함께 사용할 수 있지만 IMHO UIWebView의 탐색 패러다임과 UINavigationController의 탐색 패러다임을 혼합하는 것이 이상 할 것입니다. 그러나 그것은 앱이므로 도구 상자에 추가하려고합니다.

또한 표준 뒤로 단추처럼 보이는 UIBarButtonItem을 만들 수있는 방법이 없습니다. 테이퍼 형 "백 화살표"스타일을 원할 경우 자신의 버튼 이미지를 제공해야합니다.