2011-04-11 3 views
0

웹 페이지를로드하는 UIWebView 컨트롤러가 있고 새로 고침 및 닫기 단추가있는 페이지 맨 위에 일종의 막대를 추가하고 싶습니다. 페이지가로드 될 때 막대가 숨겨져 있어야하며 사용자가 페이지의 맨 위 부분을 두드리는 경우 다시 표시되어야합니다.UIWebView 애니메이션 상단 막대 추가

누구나 접근 방법을 알고 있습니까? 그렇게 할 수있는 간단한 방법이 있습니까?

UPDATE :
그래서 여기에 몇 가지 해명하고, 내가 질문 충분히 명확하지 생각 :
1. 응용 프로그램이 웹 페이지를로드하는 흐름 중 하나가있는 UIWebView를 여는 표준 응용 프로그램입니다
2. 내가 찾고있는 것은 UIWebView에로드 된 웹 페이지의 맨 아래로 슬라이드하는 막대이며 사용자가 어떤 이유로 웹 페이지가로드되지 않는 시나리오를 극복하는 데 도움이됩니다.
3. 막대 (UIWebView를 닫고 UIWebView를 새로 고침) 작업을 수행해야합니다.

희망이있었습니다.

덕분에, Shimix

+0

저는 실제로 이와 비슷한 것을 사용하고 있습니다. 나는 기꺼이 나눌거야. 네가 원한다면 나랑 연락해라. – Moshe

+0

고맙습니다 모쉐! 잠시 후 연락 드리겠습니다. – Shimix

+0

나를 찾을 수 있습니다 [Meta Tavern] (http : //chat.meta.내 연락처 정보는 내 웹 사이트에 있지만, 거기에 대해 파고 들어야합니다. – Moshe

답변

0

내가이 일을 라이브러리/프로젝트를 누락하지 않는 한, 나는이 작업을 수행 할 수있는 간단한 방법이라고 생각하지 않습니다.

는 이미 사파리 모바일 주소 표시 줄에 비슷한 코딩 한 메모리에서, 그것은 개인 API를 사용 및/또는 노는 "그래서 개인되지하지만 자신의 위험에 사용"UIWebView 서브 뷰 계층 구조 관련 ...

+0

네, 그건 제가 생각한 것입니다 ... 일반적인 요청처럼 보이는 것처럼 간단한 방법이없는 이유가 궁금합니다 (솔루션을 찾는 것은 여전히 ​​어렵지만 ...). – Shimix

0

저는 지금 당장이 같은 작업을하고 있으며, 지금까지 제가 생각해 냈습니다. 일부는 분명하지만 중요 할 수도 있습니다.

  • 주소 표시 줄은 왼쪽 navigationItem이어야합니다.
  • 검색 창은 navigationItem입니다.
  • URL 상자에서 편집을 시작/종료 할 때 취소 버튼에 애니메이션을 적용해야합니다.
  • Safari Mobile은 navigationBarPrompt 속성을 사용하여 웹 페이지 제목을 표시합니다.
  • 검색/URL 막대의 너비를 애니메이션으로 만들려면 막대를 선택하면 UIView 애니메이션을 사용하십시오.
+0

방금 ​​이메일을 보냈습니다 ... – Shimix

+0

대답했습니다. – Moshe

0

webview의 refresh, back 및 forward 메서드를 호출하는 UIBarButtonItems를 사용하여 webview 위에 UIToolbar를 추가하는 것은 매우 간단합니다. 또한보기 컨트롤러에 webviewdelegate 메소드를 추가하여 페이지로드가 완료되면이를 감지하고 툴바를 숨기거나 표시 할 수 있습니다.

새로 고침 및 탐색 컨트롤을 웹보기 자체의 HTML 콘텐츠의 일부로 표시하려는 경우 이는 더 까다 롭지 만 불가능하지는 않습니다. webview의 shouldLoadRequest 델리게이트 메소드를 사용하여 버튼이 두드려 졌음을 감지 한 다음 viewcontroller 내에서 적절한 조치를 취할 수 있습니다. 숨기기 및 탐색 표시 줄을 자바 스크립트에서 처리해야 할 것입니다.

+0

고마워요,하지만이 바를 페이지 위에 올려 놓으면이 경우에 도움이 될지 모르겠습니다. 또한 뒤로 버튼은 실제로 UIWebView를 닫고 새로 고침 버튼은 UIWebView를 다시로드해야합니다. 어떻게 생각해? – Shimix

+0

UIWebViewDelegate 메서드를 사용하는 경우 웹보기에서 요청을 가로 챌 수 있습니다. 따라서 웹 콘텐츠의 바에서 href = "webview_go_back"또는 그와 비슷한 방식으로 뒤로 버튼 이미지 링크를 만든 다음 webViewShouldStartRequest 대리자 메서드에서 요청 URL의 "webview_go_back"을 확인하면 사용자가 webview에서 뒤로 버튼을 탭한 시점을 알려줍니다. 그런 다음 원하는대로 수행하고 웹뷰를 종료하십시오. 말이 돼? – CharlieMezak

+0

예, 실제로 웹 페이지에서 "뒤로"단추를 구현하여 특수한 URL을 가리키고 대리자 메서드로 처리했습니다. 그러나 웹 페이지 자체가 전혀로드되지 않으면 어떻게됩니까? 이 경우 웹 페이지의 "뒤로"버튼이 표시되지 않습니다 ... 사용자가 어떻게 응용 프로그램으로 돌아갈 수 있습니까? – Shimix

관련 문제