programing

UIScrollView 내부의 UIWebView를 확대하려면 어떻게 해야 합니까?

easyjava 2023. 4. 29. 10:00
반응형

UIScrollView 내부의 UIWebView를 확대하려면 어떻게 해야 합니까?

나는 있습니다UIWebView안에 어느 것이UIScrollView(표시된 뷰에 다른 구성요소가 포함됨)

멀티터치를 인터페이스 빌더나 프로그램에서 모두 활성화하려고 했습니다.UIWebView하지만 여전히 HTML을 확대할 수 없습니다. 두 확대를 모두 처리해야 합니까?UIScrollView그리고.UIWebView아니면 제가 설정하지 않은 것이 있나요?

scalePageToFit=을 설정해야 합니다.UI WebView에서 모든 고정 및 확대/축소가 작동하는 경우 YES

네, 위의 내용과 다음 내용을 모두 수행해야 합니다.메인 뷰에 웹 뷰가 있었는데 작동하지 않았습니다.

  1. 위와 같이, 당신은 먼저 메인 뷰에 UIScrollView를 넣은 후 스크롤 뷰에 웹 뷰를 넣어야 합니다.
  2. 위와 같이 구현<UIScrollViewDelegate>보기 컨트롤러에서 스크롤 보기 대리자를 인터페이스 작성기의 보기 컨트롤러로 끌어다 놓고,viewForZoomingInScrollView방법.포인터를 UIScrollView(내 ScrollView 반환)로 반환해야 합니다.
  3. 웹 뷰와 스크롤 뷰 모두에 대해 IBOutlet 속성을 생성했습니다. NIB에서 해당 속성을 뷰 컨트롤러에 연결합니다.
  4. Scroll View(스크롤 보기)에서 Attributes Inspector(속성 검사기)로 이동하여 Max(최대) 및 Min(최소) 확대/축소 배율을 설정합니다(0.5 - 5.0으로 설정했습니다. 잘 작동합니다).
  5. 웹 보기의 속성 관리자에서 다음을 수행합니다.
  6. 웹 보기 섹션에서 맞춤 페이지 크기 조정을 선택합니다.
  7. 보기 섹션에서 모드에 대해 "왼쪽 위"를 선택합니다.
  8. 하단의 보기 섹션에서 사용자 상호 작용 활성화 및 다중 터치 활성화를 선택 취소합니다.

자바스크립트를 사용하면 줌 레벨을 제어할 수 있지만, 제가 찾은 유일한 솔루션은 매끄러워 보이지 않습니다.

들어 있다고 해요<head>:

<meta id="vp" name="viewport" content="width=768,initial-scale=1.0">

4배까지 확대하고 사용자가 확대/축소를 변경할 수 있도록 하려면 내용을 두 번 변경합니다.

var vp = document.getElementById('vp');
vp.content = "width=767,minimum-scale=4.0,maximum-scale=4.0,user-scalable=yes";
vp.content = "width=768,minimum-scale=0.25,maximum-scale=10.0,user-scalable=yes";

폭을 전환하는 것은 매우 중요합니다. 그렇지 않으면 Mobile Safari에 심각한 재도색 버그가 발생합니다(과도한 최적화로 인해).

설정만 할 수 없습니다.initial-scale다시 - 두 번째에는 무시됩니다.

컨트롤러에서 viewForZoomingInScrollView 메서드를 구현해야 합니다. 그렇지 않으면 확대/축소가 아무 것도 할 수 없습니다. (왜 이것이 필요한지 잘 모르겠지만, 그렇게 하세요.)

자세한 내용은 http://developer.apple.com/iphone/library/documentation/WindowsViews/Conceptual/UIScrollView_pg/ZoomZoom/ZoomZoom.html 을 참조하십시오.

언급URL : https://stackoverflow.com/questions/2219685/how-can-i-enable-zoom-in-on-uiwebview-which-inside-the-uiscrollview

반응형