WKCustomWebView 0.1.9

WKCustomWebView 0.1.9

LimHG 维护。



  • 作者:
  • LimHG

WKCustomWebView

CI Status Version License Platform

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

要求

安装

WKCustomWebView 可通过 CocoaPods 获得。要安装,只需将以下行添加到您的 Podfile

pod 'WKCustomWebView'

如何使用

  1. 在使用WKCustom WebView的屏幕上创建和初始化Lazy对象
// InappAlert Class import
import WKCustomWebView

// WKCustomWebView 변수 간편 생성 or 상세 설정 생성으로 객체 생성
// (간편 생성 방법)
// - frame : WKCustomWebView를 그릴 Frame 지정
lazy var wkWebView: WKCustomWebView = {
    let webView: WKCustomWebView = WKCustomWebView(frame: CGRect.init(x: 0, y: 0, width: self.mainView.frame.size.width, height: self.mainView.frame.size.height))
    return webView
}()


// (상세 설정 생성 방법)
// - frame : WKCustomWebView를 그릴 Frame 지정
// - userDefault : 앱에서 사용할 UserDefault 객체 전달 (쿠키 정보 저장을 위해 사용)
// - uDCookie : 앱에서 사용할 UserDefault에 저장할  이름 --- 선택사항
// - saveCookieName : Cookie중 저장할 쿠키 문자열 (포함검색) --- 선택사항
// - deleteCookieName : Cookie  삭제할 쿠기 문자열 (포함검색) --- 선택사항
// - configuration : 웹뷰에 설정할 configuration 객체 전달 --- 선택사항
lazy var wkWebView: WKCustomWebView = {
    let webView: WKCustomWebView = WKCustomWebView(frame: CGRect.init(x: 0, y: 0, width: self.mainView.frame.size.width, height: self.mainView.frame.size.height), userDefault: <UserDefault 객체>, uDCookie: "쿠키 저장 키이름", saveCookieName: "저장할 쿠키 문자열", deleteCookieName: "삭제할 쿠키 문자열", configuration: <WKWebViewConfiguration 객체>)
    return webView
    
}()
  1. 使用WKCustom WebView委托
// 딜리게이트 이용시 기존 WKWebView의 딜리게이트를 넣어주어야 한다.
// - WKNavigationDelegate, WKUIDelegate
class ViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {

}


// WKWebView의 WKUIDelegate 이용시
self.wkWebView.uiDelegate = self
// WKCustomWebView WKNavigationDelegate 이용  아래 구문으로 선언해 주어야 한다.
self.wkWebView.wkNavigationDelegate = self


// wkNavigationDelegate self  아래 두개의 함수는 별도로 구성을 해주어야 한다.
// - onDecidePolicyForNavigationAction의 경우 WKWebView의 WKNavigationDelegate의 decidePolicyForNavigationAction 함수와 매칭된다.
self.wkWebView.onDecidePolicyForNavigationAction = { (webView, navigationAction, decisionHandler) in
    if(navigationAction.request.url?.absoluteString == "about:blank")
    {
        decisionHandler(.cancel)
    } else {
        decisionHandler(.allow)
    }
}

// - onDecidePolicyForNavigationResponse의 경우 WKWebView의 WKNavigationDelegate의 decidePolicyForNavigationResponse 함수와 매칭된다.
self.wkWebView.onDecidePolicyForNavigationResponse = { (webView, navigationResponse, decisionHandler) in
    decisionHandler(.allow)
}
  1. 在WKCustom WebView窗口切换时保持会话
// A ViewController <-> B ViewController  세션 유지를 위해서 B에서 A로 돌아갈때 창이 종료되는 시점에서 애라 함수 호출
// 세션 업데이트
self.wkWebView.WKCustomWebViewSC() 
// 세션 업데이트  웹뷰 리로드
self.wkWebView.WKCustomWebViewSCandRload()
  1. 使用WKCustom WebView对象可自动管理Cookie,与现有的WKWebView对象的使用方式相同。

作者

LimHG, [email protected]

许可证

WKCustom WebView遵从MIT许可证。有关更多信息,请参阅LICENSE文件。