swift webview 예제

경고: iOS는 데이터를 안전하지 않게 보내거나 받는 앱을 좋아하지 않기 때문에 웹 사이트에 https:// 사용해야 합니다. 이 것을 재정의하려는 경우 앱 전송 보안에 대해 구체적으로 기사를 썼습니다: . 다음으로 이 요청을 사용하여 웹 뷰에서 URL을 로드합니다. 이처럼 : 나는 대규모, 무료 SwiftUI 튜토리얼 컬렉션을 작성하고, 또한 유튜브에 무료 SwiftUI 자습서의 성장 목록을 가지고 무료로 SWIFTUI 알아보기 – 오늘 시작! 위의 코드는 iOS 12 및 Swift 5에서 잘 작동합니다. 불행히도 웹 페이지에는 일반적으로 움직이는 조각이 많기 때문에 마일리지가 다를 수 있습니다. 중요한 것은 웹 페이지의 높이를 가능한 한 늦게 평가하는 것이지만 나중에는 그렇지 않습니다. 페이지가 완전히 로드가 완료되는 즉시 콘텐츠 높이를 얻으려고 합니다. 예를 들어 이 코드는 모든 쿠키를 반복하며 “인증”이라고 불리는 쿠키가 삭제되면 다른 모든 쿠키가 인쇄됩니다. 예를 들어 모든 웹 페이지에서 alert() JavaScript 함수를 사용할 때 WKWebView에서 사용자 지정 경고 컨트롤러를 표시할 수 있습니다. 그러나 내가 논의하고 싶은 것은 ViewController가 이제 Swift에서 불가능한 두 가지에서 상속되는 것처럼 보이는 방법입니다. 아시다시피 클래스 A: B는 클래스 B에서 제공하는 기능을 기반으로 하는 A라는 새 클래스를 정의합니다. 그러나 클래스 A: B, C는 UIViewController(목록의 첫 번째 항목)에서 상속되며 WKNavigationDelegate 프로토콜을 구현할 것을 약속합니다. 코드에서 HTML을 생성하고 WKWebView에 직접 공급할 수 있습니다.

예를 들어, 이 제목 메시지를 표시: init를 사용 하 여 새 WKWebView 개체를 만든 후 (프레임:구성:) 웹 콘텐츠를 로드해야 합니다. 로드HTMLString(_:baseURL:) 사용 메서드는 로컬 HTML 파일 또는 로드(_:) 로드를 시작합니다. 웹 콘텐츠 로드를 시작하는 메서드입니다. stopLoading() 메서드를 사용하여 로드를 중지하고 isLoading 속성을 사용하여 웹 뷰가 로드 중인지 확인합니다. 웹 콘텐츠 로드를 추적하기 위해 WKUIDelegate 프로토콜을 준수하는 개체에 대리자 속성을 설정합니다. 프로그래밍 방식으로 WKWebView를 만드는 예제는 목록 1을 참조하십시오. 웹 뷰에 일부 콘텐츠가 로드되면 evaluateJavaScript() 메서드를 사용하여 렌더링된 페이지 내에서 원하는 JavaScript를 실행할 수 있습니다. 실행이 완료되면 실행이 종료되는 경우 실행해야 할 클로저와 함께 일부 값을 읽는 자바 스크립트를 실행하기만 하면 됩니다. 예를 들어

@twostraws포함 페이지가 있고 “@twostraws” 부분을 읽으려면 이 부분을 사용합니다. 대리자를 설정할 때 대리자와 일치하는 프로토콜을 준수해야 합니다. 예.

모든 navigationDelegate 프로토콜 메서드는 선택 사항이지만 Swift는 아직 알지 못합니다. 우리가 웹 보기에 적합한 대리자라고 약속하지만 프로토콜을 구현하지 않았다는 것은 알고 있습니다. 예를 들어 웹 뷰에 가능한 모든 데이터 유형을 검색하도록 지시합니다. 예를 들어 여기에 도달하면 프로젝트에서 웹뷰를 성공적으로 가져온 것입니다. 지금 당신은 행복하다. 그래서 박수를위한 시간. 이 데모 프로젝트가 필요한 경우 GitHub 링크에서 다운로드 할 수 있습니다. 간단한 탐색 및 상호 작용은 다음과 같은 웹 뷰 인스턴스의 함수와 함께 직접 발생 합니다.

Posted in Uncategorized