2016. 7. 5. 14:51ㆍ개발/iOS
WKWebView를 이용한 웹뷰를 작성할때
페이지가 변경될때 로딩 이미지를 띄워주려고 한다.
Xcode 7.3, iOS 9
1. 가운데 로딩 이미지를 띄워주면서
2. 상단 status bar에도 activity indicator가 나오게 할 것이다.
여기에는 기본만 적어본다.
여기서는 WKNavigationDelegate가 쓰인다.
따라서 view를 load하는 부분에 webView!.navigationDelegate = self 가 필요하다.
그리고 아래와 같이 작성하면 된다.
var activityIndicator = UIActivityIndicatorView()
func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
// 1. 가운데 로딩 이미지를 띄워주면서
activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.Gray)
activityIndicator.frame = CGRect(x: view.frame.midX - 25, y: view.frame.midY - 25 , width: 50, height: 50)
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()
view.addSubview(activityIndicator)
// 2. 상단 status bar에도 activity indicator가 나오게 할 것이다.
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
}
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
// 1. 제거
self. activityIndicator.removeFromSuperview
// 2. 제거
UIApplication.sharedApplication().networkActivityIndicatorVisible = false
}
간단한 indicator를 만들더라고 신경을 좀 써주어야 할 것이다.
그렇지 않다면 다음과 같은 리뷰를 받을 수 있다...
'개발 > iOS' 카테고리의 다른 글
Swift, WKWebView에서 JavaScript Event Catch (0) | 2016.08.18 |
---|---|
Swift, 웹뷰 이용시 쿠키 확인하기 (0) | 2016.08.12 |
iOS, Push 받을때 어플 실행 상태 (0) | 2016.07.06 |
Swift, WKWebView에서 alert창 띄우기 (0) | 2016.07.02 |
iOS, GCM에서 FCM으로 바꾸기. (6) | 2016.05.31 |