NowWebViewController 클래스 - iOS

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 2분
  • NowWebViewController 클래스는 웹 뷰어를 관리할 수 있는 기능을 제공합니다.

    웹 페이지 로드 플로우

    NowWebViewController - loadPage()

    요청이 인증되면 makeWebViewController() 메서드를 사용하여 인스턴스화 중에 제공된 초기 URL을 로드하기 시작합니다.

    요청이 인증에 실패하면 객체를 인스턴스화할 때 전달된 대리자에 대해 nowWebViewController(_:didFailNavigationWith:) 메서드가 호출됩니다.

    표 1. 매개변수
    이름 유형 설명
    없음
    표 2. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

    private func openScreen(_ screen: ArticleListViewModel.Screen) {
      switch screen {
      case .articleDetail(let sysId):
        guard let url = URL(string: "/mesp?id=me_kb_view&sys_kb_id=\(sysId)"), let webViewController = webViewController(for: url) else {
          debugPrint("Could not create web view")
          return
        }
        webViewController.loadPage()
        navigationController?.pushViewController(webViewController, animated: true)
      }
    }

    NowWebViewController - updateTheme(themeColors: NowWebThemeable)

    지정된 UI 테마를 사용 하 여 NowWebView 테마를 업데이트 합니다. 이 함수를 사용하면 테마를 밝은 색에서 어두운 색으로 변경할 때와 같이 makeWebViewController() 함수를 사용하여 처음 설정한 후 웹 UI 테마를 업데이트할 수 있습니다.

    표 3. 매개변수
    이름 유형 설명
    테마 색상 NowWeb테마 가능 웹 UI를 업데이트할 테마입니다.
    표 4. 반환
    유형 설명
    없음

    다음 코드 예제는 updateTheme() 함수를 사용하여 makeWebViewController() 함수를 사용하여 구현된 밝은 UI 테마를 어두운 UI 테마로 업데이트하는 방법을 보여줍니다.

    func nowWebViewController(_ nowWebViewController: NowWebViewController, systemThemeDidChange traitCollection: UITraitCollection) {
      // The systemThemeDidChange delegate method can be used to call updateTheme() to apply theme changes when the system theme changes.
      nowWebViewController.updateTheme(themeColors: traitCollection.userInterfaceStyle == .dark ? DarkNowWebTheme() : LightNowWebTheme())
    }