ios wkwebview 예제

예를 들어 “help.html”이라는 파일을 로드하려는 경우 init(frame:configuration:)를 사용하여 새 WKWebView 개체를 만든 후 다음과 같은 코드를 사용할 수 있습니다. 웹 콘텐츠를 로드해야 합니다. 로드HTMLString(_:baseURL:) 사용 메서드는 로컬 HTML 파일 또는 로드(_:) 로드를 시작합니다. 웹 콘텐츠 로드를 시작하는 메서드입니다. stopLoading() 메서드를 사용하여 로드를 중지하고 isLoading 속성을 사용하여 웹 뷰가 로드 중인지 확인합니다. 웹 콘텐츠 로드를 추적하기 위해 WKUIDelegate 프로토콜을 준수하는 개체에 대리자 속성을 설정합니다. 프로그래밍 방식으로 WKWebView를 만드는 예제는 목록 1을 참조하십시오. 경고: iOS는 데이터를 안전하지 않게 보내거나 받는 앱을 좋아하지 않기 때문에 웹 사이트에 https:// 사용해야 합니다. 이 것을 재정의하려는 경우 앱 전송 보안에 대해 구체적으로 기사를 썼습니다: .

자신의 서버에서 페이지를 읽는 경우 앱 사용자를 식별할 수 있도록 사용자 에이전트를 자신의 문자열로 조정할 수 있습니다. 예를 들어

@twostraws 포함된 페이지가 있고 “@twostraws” 부분을 읽으려는 경우 다음을 사용합니다. 그럴 필요는 없습니다. 예를 들어, loadHTMLString()에 baseURL 매개 변수를 기록합니다. 번들에서 이미지 나 CSS와 같은 자산을 참조하는 경우, 로드 할 수 있도록 Bundle.main.resourceURL을 지정해야합니다. 예를 들어, 웹 뷰에 가능한 모든 데이터 유형을 검색하도록 지시합니다. 따라서 코드의 첫 번째 줄은 “https://www.hackingwithswift.com”문자열에서 새 URL을 만듭니다. hackingwithswift.com 예제 웹 사이트로 사용하고 있지만 원하는 웹 사이트로 변경하십시오. 예를 들어, 이 구현은 Apple 홈페이지로 이동하지 않는 한 웹 보기 내의 모든 링크를 로드합니다. 이 예제에서는 Apple의 강력하고 유연하며 효율적인 웹 렌더러인 WKWebView를 사용하고 있습니다. 그러나 WKWebView만큼 똑똑하기 때문에 사용자 지정 코드이기 때문에 응용 프로그램이 어떻게 동작할지 알 지 못합니다. 이러한 각 배열 내에서 사용된 제목과 함께 방문한 각 페이지의 URL을 읽을 수 있습니다.

예를 들어 사용자가 이 루프를 사용하여 이미 방문한 모든 사이트의 목록을 인쇄할 수 있습니다. 실행이 완료되면 실행이 종료되는 경우 실행해야 할 클로저와 함께 일부 값을 읽는 자바 스크립트를 실행하기만 하면 됩니다. 마지막으로 구현하는 결정PolicyFor 메서드, 페이지를 로드 할지 여부를 결정 하려는 논리를 추가 합니다. 예를 들어, 이 구현을 사용 하면 사용자가 애플 홈페이지를 방문 하 고 아무것도: 마지막으로, 원하는 대로 WKUIDelegate의 선택적 메서드의 많은 구현. 예를 들어, 모든 웹 페이지가 alert() JavaScript 함수를 사용할 때 WKWebView가 사용자 지정 경고 컨트롤러를 표시되도록 할 수 있습니다. 페이지 탐색이 허용되는지 여부를 결정합니다. 또한 리디렉션, HTTP 인증 문제에 응답하고 충돌 복구를 사용할 수 있습니다. 예를 들어, 이것은 웹 보기의 왼쪽 상단에서 150×50 이미지를 생성합니다: 예를 들어, 이 코드는 모든 쿠키를 반복하고, “인증”이라고 불리는 것을 발견하면 다른 모든 쿠키가 인쇄됩니다 : 코드에서 HTML을 생성하고 그 디디를 공급 할 수 있습니다. WKWebView로 이동합니다. 예를 들어, 이것은 제목 메시지를 표시합니다: 굉장! WKWebView 개체에 대화형 웹 콘텐츠를 로드해 보겠습니다.