WebView의 내용을 어떻게 스케일 할 수 있습니까?코코아의 WebView 배율
답변
당신은 예를 들어, 크기를 조정할 개별 프레임의 문서보기에 -scaleUnitSquareToSize:
를 호출하는 메인 프레임이 필요합니다 Javascript가 가장 친한 친구입니다.
[_webview stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.zoom = \"0.5\""];
WebView는 NSView이므로 한 가지 방법은 to send it a scaleUnitSquareToSize:
message입니다.
- (IBAction)takeZoom:(NSSlider *)sender {
WebView *aWebView = [[window.contentView subviews] lastObject];
NSView *clipView = [[[[aWebView mainFrame] frameView] documentView] superview];
float scale = pow(4, [sender floatValue])/(clipView.frame.size.width/clipView.bounds.size.width);
[clipView scaleUnitSquareToSize:NSMakeSize(scale, scale)];
[clipView setNeedsDisplay:YES];
}
WebView는 실제로 매우 복잡한 관리 그룹이므로 네스트 된 뷰가 있다면, 실제로'-scaleUnitSquareToSize :'를'WebView' 객체에서 호출 할 수 없습니다. –
또는 당신이 다음을 시도 할 수 있습니다 :
이렇게하려면 클립보기의 배율이 올바른 방법 인 것으로 보입니다. 너무 열심히 치는 데 너무 피곤하지만 위의 Rob의 제안은 규모가되지만 잎은 스크롤 내용 영역을 확대하므로 크기 조정 된 페이지를 얻을 수 있지만 웹보기의 오른쪽에있는 깨진 픽셀의 '유물 놀이터' . 나는 방금 위의 루틴 중 2,4,5 행을 꺼냈다. 내 보고서보기는 대화 상자 패널의 웹보기로 조정됩니다. 고마워 방랑자! –
이것은 저에게 아주 좋습니다! 허용 된 대답이 부적절하게 잘릴 수 있습니다. – Wevah
두 가지 모두 문서 뷰의 수퍼 뷰를 확장하여 완벽하게 크기를 조정할 수 있습니다. 오른쪽 및 잘못된 리플 로우에 클리핑이 나타납니다. 사용자 컨트롤에 따라 확대/축소 버튼처럼 한 번만 또는 반복해서 크기를 조절하고 있습니까? scaleUnitSquareToSize는이 상황에서 기대할 수있는대로 작동하지 않으며, 마침내이 Apple Q & A가 일부 빛을 비추는 것을 발견했습니다. https://developer.apple.com/library/mac/#qa/qa2004/qa1346.html하지만 여전히 뭔가 ' 맞아. 거기 카테고리를 사용하여 필자는 본질적으로 다음을 사용하고 있습니다. clipView = [documentView superview]; clipView.scale = NSMakeSize (스케일, 스케일); clipView.needsDisplay = YES; –
:
[[[[webView mainFrame] frameView] documentView] scaleUnitSquareToSize:NSMakeSize(1.5, 1.5)];
[[[[webView mainFrame] frameView] documentView] setNeedsDisplay:YES];
- 1. CGPDFDocument 배율
- 2. 런타임 배율
- 3. 코코아의 양방향지도
- 4. WebView WebView 사용 : didCommitLoadForFrame
- 5. 전체 배율 전체 UIView
- 6. LinearLayout의 배율 배경 이미지
- 7. CSS로 인쇄 배율
- 8. boost :: spirit의 assign_a의 배율
- 9. 싱글 톤 배율
- 10. CSS 조건부 이미지 배율
- 11. UISegmentedControl 이미지 배율
- 12. html 캔버스의 배율 조정
- 13. UI 배율 - XNA
- 14. UIScrollView의 배율 인수 변경
- 15. 탄소와 코코아의 차이점은 무엇입니까?
- 16. 코코아의 명령 행 도구
- 17. 코코아의 체크 박스 상태
- 18. 코코아의 속성 편집기 제어?
- 19. 코코아의 데이터 감지기
- 20. 코코아의 순환 연결 목록
- 21. didReceiveDataOfLength : 코코아의 문제
- 22. 코코아의 입력 관리자?
- 23. 코코아의 갈색 잡음
- 24. 코코아의 Qt 또는 wxWidgets?
- 25. 코코아의 C++ 클래스
- 26. 코코아의 GraphKit 프레임 워크
- 27. 누구나 코코아의 상태를 아십니까?
- 28. 코코아의 파일 감시자
- 29. 코코아의 맞춤 NSPredicate
- 30. 코코아의 기본 NSAutoreleasePool?
이렇게하면 @Wanderer가 확인한 답변에 대한 댓글처럼 1/1.5 (즉, 2/3)의보기 경계에서 오른쪽에 콘텐츠가 잘립니다. documentView의 수퍼 뷰를 확장해도 마우스 포인터가 올바르게 작동하지 않기 때문에 (다른 답변의 주석에도 설명되어 있음) 중 하나도 작동하지 않습니다. 그래서, 여기에 대한 대답은 나에게 지금까지는 (10.10.5에서) 작동하지 않습니다. –
또한보십시오 : http://stackoverflow.com/questions/23010634/zooming-in-and-out-in-webview-cocoa –