내 수업에서 웹뷰 URL을로드 할 때 검은 색 화면을 수정하는 방법

쿠마르 바리 안

사용자로부터 URL을 가져오고로드하기 위해 하나의 SDK를 만들고 있습니다. 그래서 WKWebview. 하지만 인스턴스 멤버 webView를 유형에 사용할 수 없다는 문제가 거의 발생 하지 않습니다.MyWebView(UIview)

내 코드 :

import Foundation
import WebKit

public class MyWebView: UIView, WKNavigationDelegate {

    // initialize the view
     var webView: WKWebView!

    // get the url and load the page
    public func passUrl(url: String) {
        guard let url = URL(string: url) else { return }
        webView = WKWebView()
        webView.navigationDelegate = self
        webView.load(URLRequest(url: url))
        webView.allowsBackForwardNavigationGestures = true
        webView.addObserver(self, forKeyPath: "URL", options: .new, context: nil)
    }
    
    // Observe value
    override public func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        if let key = change?[NSKeyValueChangeKey.newKey] {
            print("URL Changes: \(key)")
            let alert = UIAlertController(title: "URL Changed", message: "\(key)", preferredStyle: .alert)
            alert.addAction(UIAlertAction(title: "Yes", style: .default, handler: nil))
            alert.addAction(UIAlertAction(title: "No", style: .cancel, handler: nil))
            self.window?.rootViewController?.present(alert, animated: true, completion: nil)
        }
    }
    
}

내보기 컨트롤러 :

class ViewController: UIViewController {

    var webView =  MyWebView()
    

    override func viewDidLoad() {
        super.viewDidLoad()
        view = webView
        webView.passUrl(url: "https://www.swiggy.com")
    }
}

실행하면 화면이 검게 표시됩니다. 내가 웡 무엇을하고 있는지 잘 모르겠습니다. 어떤 도움이라도 좋을 것입니다.

감사

하빈 라마

이 코드를 사용해보십시오. 나를 위해 테스트하고 일했습니다. MyWebView 클래스

import Foundation
import WebKit

public class MyWebView: UIView, WKNavigationDelegate {

// initialize the view
let view: WKWebView = {
    let view = WKWebView()
    return view
}()

// get the url and load the page
public func passUrl(url: String) {
    guard let url = URL(string: url) else { return }
    view.navigationDelegate = self
    view.load(URLRequest(url: url))
    view.allowsBackForwardNavigationGestures = true
    view.addObserver(self, forKeyPath: "URL", options: .new, context: nil)
}

// Observe value
override public func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
    if let key = change?[NSKeyValueChangeKey.newKey] {
        print("URL Changes: \(key)")
        let alert = UIAlertController(title: "URL Changed", message: "\(key)", preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "Yes", style: .default, handler: nil))
        alert.addAction(UIAlertAction(title: "No", style: .cancel, handler: nil))
        self.window?.rootViewController?.present(alert, animated: true, completion: nil)
    }
}

public override init(frame: CGRect) {
    super.init(frame: frame)
    setupView()
}

required init?(coder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

private func setupView() {
    view.translatesAutoresizingMaskIntoConstraints = false
    addSubview(view)
    NSLayoutConstraint.activate([
        view.topAnchor.constraint(equalTo: topAnchor),
        view.leadingAnchor.constraint(equalTo: leadingAnchor),
        view.trailingAnchor.constraint(equalTo: trailingAnchor),
        view.bottomAnchor.constraint(equalTo: bottomAnchor),
    ])
}
}

ViewController 클래스

import UIKit

class ViewController: UIViewController {

var webView =  MyWebView()

override func viewDidLoad() {
    super.viewDidLoad()
    webView.passUrl(url: "https://www.swiggy.com")
}

override func loadView() {
    view = webView
}
}

문제가 해결되지 않으면 확인하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

앱을 열 때 검은 색 화면을 제거하는 방법

분류에서Dev

ASP.NET에서 특성 라우팅을 수행 할 때 URL에서 작업 매개 변수로 접미사를 검색하는 방법

분류에서Dev

데비안을 시작할 때 정적 커서가있는 검은 색 화면

분류에서Dev

탐색 중 플러터에서 검은 화면을 수정하는 방법은 무엇입니까?

분류에서Dev

외부 화면을 연결하고 분리 할 때 랩톱에서 내 바탕 화면 아이콘을 정리하는 방법은 무엇입니까?

분류에서Dev

AppIcon에서 검은 색 화면을 제거하는 방법-IOS

분류에서Dev

WPF에서 검색 창 (TextBox)을 사용할 때 StackPanel 재정렬을 만드는 방법은 무엇입니까?

분류에서Dev

SSRS에서 '입력 할 때 검색'을 제공하는 방법

분류에서Dev

배열에서 검색 할 때 값을 계산하는 방법

분류에서Dev

집계 함수를 수행 할 때 다른 열을 검색하는 방법은 무엇입니까?

분류에서Dev

내 웹 사이트에서 색상 변경을 수정하는 방법

분류에서Dev

Swift Sprite Kit에서 텍스처를 미리로드 할 때 흰색 화면을 방지하는 방법은 무엇입니까?

분류에서Dev

지도 함수 내에서 특정 값을 검색하는 방법은 무엇입니까?

분류에서Dev

Swift에서 Facebook SDK에서 JSON을 구문 분석 할 때 점수 값을 검색하는 방법

분류에서Dev

앱이 전체 화면을 터치 할 때 Ubuntu Dock을 완전히 불투명하게 만드는 방법 (상단 막대와 같은 검은 색)?

분류에서Dev

뷰 컨트롤러를 사용할 때 iBeacon을 검색하는 방법

분류에서Dev

검색 창에서 검색을 수행 할 때 tableview의 원래 인덱스를 얻는 방법은 무엇입니까?

분류에서Dev

기록에서 검색 할 때 이전 줄을 얻는 방법

분류에서Dev

Codeigniter에서 편집 할 때 드롭 다운 값을 검색하는 방법

분류에서Dev

ElasticSearch를 통해 검색 할 때 정규화 된 모델을 유지하는 방법은 무엇입니까?

분류에서Dev

GLFW로 검은 화면을 수정하는 방법

분류에서Dev

내 이름 만 검색하도록이 프로그램을 수정하는 방법은 무엇입니까?

분류에서Dev

Elasticsearch에 필드를 입력 할 때 검색에 모호함을 추가하는 방법은 무엇입니까?

분류에서Dev

초점을 맞출 때 UISearchController 검색 창 크기 조정을 수정하는 방법은 무엇입니까?

분류에서Dev

다른 화면에서 동영상을 보거나 게임을 할 때 화면을 검게 만드는 방법은 무엇입니까?

분류에서Dev

웹 브라우저에서 통합 검색 / 주소 표시 줄을 사용할 때 브라우저가 입력 된 URL을 검색하도록 강제하는 방법은 무엇입니까?

분류에서Dev

Tizen Emulator에서 테스트 앱을 실행할 때 검은 색 화면

분류에서Dev

다각형을 플로팅 할 때 Matplotlib에서면 색상 대신 정점에 색상 값을 할당하는 방법은 무엇입니까?

분류에서Dev

사용자가 화면을 터치 할 때마다 Qml에서 작업을 수행하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    앱을 열 때 검은 색 화면을 제거하는 방법

  2. 2

    ASP.NET에서 특성 라우팅을 수행 할 때 URL에서 작업 매개 변수로 접미사를 검색하는 방법

  3. 3

    데비안을 시작할 때 정적 커서가있는 검은 색 화면

  4. 4

    탐색 중 플러터에서 검은 화면을 수정하는 방법은 무엇입니까?

  5. 5

    외부 화면을 연결하고 분리 할 때 랩톱에서 내 바탕 화면 아이콘을 정리하는 방법은 무엇입니까?

  6. 6

    AppIcon에서 검은 색 화면을 제거하는 방법-IOS

  7. 7

    WPF에서 검색 창 (TextBox)을 사용할 때 StackPanel 재정렬을 만드는 방법은 무엇입니까?

  8. 8

    SSRS에서 '입력 할 때 검색'을 제공하는 방법

  9. 9

    배열에서 검색 할 때 값을 계산하는 방법

  10. 10

    집계 함수를 수행 할 때 다른 열을 검색하는 방법은 무엇입니까?

  11. 11

    내 웹 사이트에서 색상 변경을 수정하는 방법

  12. 12

    Swift Sprite Kit에서 텍스처를 미리로드 할 때 흰색 화면을 방지하는 방법은 무엇입니까?

  13. 13

    지도 함수 내에서 특정 값을 검색하는 방법은 무엇입니까?

  14. 14

    Swift에서 Facebook SDK에서 JSON을 구문 분석 할 때 점수 값을 검색하는 방법

  15. 15

    앱이 전체 화면을 터치 할 때 Ubuntu Dock을 완전히 불투명하게 만드는 방법 (상단 막대와 같은 검은 색)?

  16. 16

    뷰 컨트롤러를 사용할 때 iBeacon을 검색하는 방법

  17. 17

    검색 창에서 검색을 수행 할 때 tableview의 원래 인덱스를 얻는 방법은 무엇입니까?

  18. 18

    기록에서 검색 할 때 이전 줄을 얻는 방법

  19. 19

    Codeigniter에서 편집 할 때 드롭 다운 값을 검색하는 방법

  20. 20

    ElasticSearch를 통해 검색 할 때 정규화 된 모델을 유지하는 방법은 무엇입니까?

  21. 21

    GLFW로 검은 화면을 수정하는 방법

  22. 22

    내 이름 만 검색하도록이 프로그램을 수정하는 방법은 무엇입니까?

  23. 23

    Elasticsearch에 필드를 입력 할 때 검색에 모호함을 추가하는 방법은 무엇입니까?

  24. 24

    초점을 맞출 때 UISearchController 검색 창 크기 조정을 수정하는 방법은 무엇입니까?

  25. 25

    다른 화면에서 동영상을 보거나 게임을 할 때 화면을 검게 만드는 방법은 무엇입니까?

  26. 26

    웹 브라우저에서 통합 검색 / 주소 표시 줄을 사용할 때 브라우저가 입력 된 URL을 검색하도록 강제하는 방법은 무엇입니까?

  27. 27

    Tizen Emulator에서 테스트 앱을 실행할 때 검은 색 화면

  28. 28

    다각형을 플로팅 할 때 Matplotlib에서면 색상 대신 정점에 색상 값을 할당하는 방법은 무엇입니까?

  29. 29

    사용자가 화면을 터치 할 때마다 Qml에서 작업을 수행하는 방법은 무엇입니까?

뜨겁다태그

보관