UIWebView 아키텍처(7) WebView

'iOS 웹코어의 wak 디렉터리'에서 iOS의 웹킷은 가능한 한 Mac의 코드를 복용하려고 하기 때문에 웹뷰는 iOS와 Mac에서 차이가 많지 않다는 것을 증명했다.
Mac WebView 참조 문서:
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/WebKit/Classes/WebView_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40003822
물론 공식 문서에서 웹뷰가 iOS에서의 역할을 설명하지 않을 것이다. class-dump로 헤더 파일을 내보내는 관계이기 때문에 일부는 개인 API의 함수가 되었다. 예를 들어 UA 설정이다.
+ (BOOL)canShowMIMEType:(NSString *)MIMEType
MIMEType 데이터를 표시할 수 있는지 여부iOS는 캡처 판단을 할 수 있습니다.
+ (void)_setTileCacheLayerPoolCapacity:(unsigned int)arg1;
블록 구역에 그려진layer 캐시 수량을 설정합니다.TileCache에 관해서는'UIWebView 구조 체계(二)UIWebTiledView와 WAKWindow'를 참고할 수 있다. 이 수치를 크게 설정하면 어느 정도 페이지의 렌더링을 가속화할 수 있지만 이로 인해 더 많은 메모리를 차지할 수 있다.
+ (void)_setHTTPPipeliningEnabled:(BOOL)arg1;
스위치 HTTP 파이프라인
+ (void)_removeUserStyleSheetsFromGroup:(id)arg1 world:(id)arg2;
+ (void)_removeUserScriptsFromGroup:(id)arg1 world:(id)arg2;
+ (void)_removeUserStyleSheetFromGroup:(id)arg1 world:(id)arg2 url:(id)arg3;
+ (void)_removeUserScriptFromGroup:(id)arg1 world:(id)arg2 url:(id)arg3;
+ (void)_addUserStyleSheetToGroup:(id)arg1 world:(id)arg2 source:(id)arg3 url:(id)arg4 whitelist:(id)arg5 blacklist:(id)arg6 injectedFrames:(int)arg7;
+ (void)_addUserStyleSheetToGroup:(id)arg1 world:(id)arg2 source:(id)arg3 url:(id)arg4 whitelist:(id)arg5 blacklist:(id)arg6;
+ (void)_addUserScriptToGroup:(id)arg1 world:(id)arg2 source:(id)arg3 url:(id)arg4 whitelist:(id)arg5 blacklist:(id)arg6 injectionTime:(int)arg7 injectedFrames:(int)arg8;
+ (void)_addUserScriptToGroup:(id)arg1 world:(id)arg2 source:(id)arg3 url:(id)arg4 whitelist:(id)arg5 blacklist:(id)arg6 injectionTime:(int)arg7;
사용하지 않았습니다. 이름으로 볼 때 특정한 자원에 스타일시트와 스크립트를 추가합니다.
+ (void)_setMaximumImageSizeBeforeSubsampling:(unsigned int)arg1;
이미지 자원 샘플링의 최대 크기 설정
+ (BOOL)_canHandleRequest:(NSURLRequest*)arg1;
+ (BOOL)_canHandleRequest:(NSURLRequest*)arg1 forMainFrame:(BOOL)arg2;
이 Request를 처리할 수 있는지 여부
+ (void)_disableRemoteInspector;
+ (void)_enableRemoteInspector;
스위치 원격 디버깅 기능
+ (BOOL)_allowCookies;
+ (void)_setAllowCookies:(BOOL)arg1;
- (void)_setCookieEnabled:(BOOL)arg1;
- (BOOL)_cookieEnabled;
Cookies 사용 여부
+ (BOOL)_acceleratedImageDecoding;
+ (void)_setAcceleratedImageDecoding:(BOOL)arg1;
스위치 가속 이미지 디코딩
+ (void)_setCacheModel:(unsigned int)arg1;
Cache 설정
+ (void)_setPDFViewClass:(Class)arg1;
+ (Class)_getPDFViewClass;
+ (void)_setPDFRepresentationClass:(Class)arg1;
+ (Class)_getPDFRepresentationClass;
PDF를 표시하는 클래스 설정
- (double)estimatedProgress;
추산된 마운트 진도 얻기
- (id)elementAtPoint:(struct CGPoint)arg1;
- (id)_elementAtWindowPoint:(struct CGPoint)arg1;
지정된 좌표에서 요소 가져오기
- (id)customUserAgent;
- (void)setCustomUserAgent:(id)arg1;
사용자 정의 UA 설정
- (void)_setWebGLEnabled:(BOOL)arg1;
- (BOOL)_webGLEnabled;
WebGL 스위치 기능
- (void)setUsesPageCache:(BOOL)arg1;
- (BOOL)usesPageCache;
스위치 캐시 페이지
- (id)_touchEventRegions;
터치 이벤트를 감청하는 구역에서 가져오기
- (id)_formDelegateForSelector:(SEL)arg1;
- (id)_formDelegateForwarder;
- (id)_formDelegate;
- (void)_setFormDelegate:(id)arg1;

양식 처리 위임자동 채우기 기능
전편: UIWebView 아키텍처(6) UIWebView
다음: UIWebView 아키텍처 (8) 개별 클라이언트 요약

좋은 웹페이지 즐겨찾기