Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 알고리즘
- Java
- Xcode
- node
- 통신
- spring boot
- db
- swagger
- 아이폰
- java spring
- 앱
- SwiftUI
- IOS
- 개발자
- spring
- JavaScript
- 백준
- mac
- 개발
- 서버개발
- 앱개발
- post
- 백엔드
- UI
- Node.js
- API
- 회원가입
- database
- Alamofire
- Swift
Archives
- Today
- Total
YagSill
Swift WKWebView 새창 열기 본문
728x90
안녕하세요 YagSill 입니다.
오늘은 WKWebView를 활용해서 새창을 여는 방법을 소개해 드리겠습니다.
- WKWebView 새창 열기
createWebViewWith 메소드를 활용하여 새창을 열어보겠습니다.
var popupView : WKWebView?
func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration,
for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
popupView = WKWebView(frame: webview.frame, configuration: configuration)
popupView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
popupView?.uiDelegate = self
view.addSubview(popupView!)
Log.print(pageIndex)
Log.print("popupView 호출 완료")
return popupView
}
근데 이게 새창을 열어서 새로운 WebView를 띄웠는데 뒤로가기가 안되더라구요?
예를들어서 네이버에 들어가서 고객센터 화면으로 넘어갔는데 뒤로가기 하면 요 뷰 자체가 닫히더라구요;;;
그래서 방법을 생각해 보았습니다.
if self.popupView?.canGoBack != nil {
self.popupView?.goBack()
if self.popupView?.goBack() == nil {
// 로직 처리
}
} else {
// 로직 처리
}
.goBack() 이라는 메소드 자체가 "뒤로가기" 메소드 인데 이 메소드가 != nil 일 때는 goBack() 메소드를 사용해라 라는 것이구요
.goBack() 이라는 메소드가 == nil 일 때는 뭐 해당 팝업을 닫아라? 라는 방법으로 쓰일 수 있겠습니다.
728x90
'Swift - IOS 앱 개발' 카테고리의 다른 글
Swift 다국어 적용하기 (0) | 2022.04.27 |
---|---|
Swift Javascript -> Swift 통신 WKScriptMessageHandler 사용하기 (0) | 2022.03.31 |
IOS Swift 비동기처리란? (0) | 2022.01.04 |
Music Player APP 만들기 (0) | 2021.12.27 |
IOS 앱 개발 "상속" (0) | 2021.09.01 |