Notice
Recent Posts
Recent Comments
Link
투케이2K
604. (ios/swift5) [간단 소스] WKUIDelegate 간단 설명 및 사용 옵션 정리 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 기술 구분 : WKUIDelegate / 딜리게이트 (대리자) / 웹뷰
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------
1. WKUIDelegate 은 웹 페이지를 대신하여 네이티브에서 사용자 인터페이스 요소를 표현하는 방법입니다
2. WKUIDelegate 사용 가능 범위 :
>> iOS
>> iPadOS
>> Mac Catalyst
>> macOS
>> visionOS
3. WKUIDelegate 웹뷰 생성 및 닫기 관련 :
>> func webView(WKWebView, createWebViewWith: WKWebViewConfiguration, for: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? : 새로운 웹 보기를 만듭니다.
>> func webViewDidClose(WKWebView) : DOM 창이 성공적으로 닫혔음을 앱에 알립니다.
4. WKUIDelegate UI 패널 표시 관련 :
>> func webView(WKWebView, runJavaScriptAlertPanelWithMessage: String, initiatedByFrame: WKFrameInfo, completionHandler: () -> Void) : JavaScript 경고 패널을 표시합니다.
>> func webView(WKWebView, runJavaScriptConfirmPanelWithMessage: String, initiatedByFrame: WKFrameInfo, completionHandler: (Bool) -> Void) : JavaScript 확인 패널을 표시합니다.
>> func webView(WKWebView, runJavaScriptTextInputPanelWithPrompt: String, defaultText: String?, initiatedByFrame: WKFrameInfo, completionHandler: (String?) -> Void) : JavaScript 텍스트 입력 패널을 표시합니다.
>> func webView(WKWebView, showLockdownModeFirstUseMessage: String, completionHandler: (WKDialogResult) -> Void) : 사용자 지정 잠금 모드 첫 사용 메시지를 표시합니다.
>> enum WKDialogResult : 대리자 (딜리게이트) 가 사용자 지정 잠금 모드 첫 번째 사용 대화 상자를 표시하는 가능한 방법을 나열하는 열거형입니다.
5. WKUIDelegate 업로드 패널 표시 관련 :
>> func webView(WKWebView, runOpenPanelWith: WKOpenPanelParameters, initiatedByFrame: WKFrameInfo, completionHandler: ([URL]?) -> Void) : 파일 업로드 패널을 표시합니다.
>> class WKOpenPanelParameters : 웹 콘텐츠의 파일 업로드 컨트롤에 대한 구성 세부 정보입니다.
6. WKUIDelegate 상황별 메뉴 표시 관련 :
>> func webView(WKWebView, contextMenuConfigurationForElement: WKContextMenuElementInfo, completionHandler: (UIContextMenuConfiguration?) -> Void) : 대리자에게 상황에 맞는 메뉴 상호작용이 시작되었음을 알립니다.
>> func webView(WKWebView, contextMenuForElement: WKContextMenuElementInfo, willCommitWithAnimator: any UIContextMenuInteractionCommitAnimating) : 웹뷰가 상황에 맞는 메뉴를 표시하는 데 사용하는 애니메이터 개체를 대리자에게 제공합니다.
>> func webView(WKWebView, contextMenuWillPresentForElement: WKContextMenuElementInfo) : 지정된 요소에 대한 상황에 맞는 메뉴가 웹뷰에 표시될 예정임을 대리자에게 알려줍니다.
>> func webView(WKWebView, contextMenuDidEndForElement: WKContextMenuElementInfo) : 지정된 요소에 대한 상황에 맞는 메뉴가 웹 뷰에서 닫혔음을 대리자에게 알립니다.
>> class UIContextMenuConfiguration : 상황에 맞는 메뉴에 대한 구성 세부 정보를 포함하는 객체입니다.
7. WKUIDelegate 편집 메뉴 표시 관련 :
>> func webView(WKWebView, willDismissEditMenuWithAnimator: any UIEditMenuInteractionAnimating) : 위임자에게 웹 뷰에서 편집 메뉴를 닫을 예정임을 알립니다.
>> func webView(WKWebView, willPresentEditMenuWithAnimator: any UIEditMenuInteractionAnimating) : 위임자에게 웹 뷰가 편집 메뉴를 표시하려고 한다는 것을 알려줍니다.
8. WKUIDelegate 권한 요청 관련 :
>> func webView(WKWebView, requestDeviceOrientationAndMotionPermissionFor: WKSecurityOrigin, initiatedByFrame: WKFrameInfo, decisionHandler: (WKPermissionDecision) -> Void) : 보안 원본 개체가 설명하는 웹 리소스가 장치의 방향 및 동작에 액세스할 수 있는지 여부를 결정합니다.
>> func webView(WKWebView, requestMediaCapturePermissionFor: WKSecurityOrigin, initiatedByFrame: WKFrameInfo, type: WKMediaCaptureType, decisionHandler: (WKPermissionDecision) -> Void) : 보안 원본 개체가 설명하는 웹 리소스가 장치의 마이크 오디오 및 카메라 비디오에 액세스할 수 있는지 여부를 결정합니다.
>> enum WKPermissionDecision : 장치 리소스 액세스에 대한 가능한 권한 결정의 열거형입니다.
>> enum WKMediaCaptureType : 오디오, 비디오 또는 둘 다를 캡처할 수 있는 미디어 장치 유형을 나열한 열거형입니다.
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://developer.apple.com/documentation/webkit/wkuidelegate
https://blog.naver.com/kkh0977/222686770495?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
603. (ios/swift5) [간단 소스] WKScriptMessageHandler 간단 설명 및 사용 옵션 정리 (0) | 2024.12.03 |
---|---|
602. (ios/swift5) [간단 소스] WKNavigationDelegate 간단 설명 및 사용 옵션 정리 (0) | 2024.12.02 |
601. (ios/swift5) [간단 소스] CBCentralManager 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
600. (ios/swift5) [간단 소스] UNUserNotificationCenter 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
599. (ios/swift5) [간단 소스] DispatchSemaphore 간단 설명 및 사용 옵션 정리 (0) | 2024.12.01 |
Comments