0
WKWebView가 포함 된 ViewController가 있는데 뷰가 처음로드 될 때 올바르게 배치되지만 다른 뷰로 이동 한 후 (링크를 가로 채서 다른 뷰를 여는 중입니다. 탐색 항목 (뒤로 버튼)을 누르면 해당 위치에 잠깐 나타납니다. 그런 다음 탐색 막대 뒤의 웹보기 맨 위에 다시로드되어 페이지 상단이 잘립니다.Swift 3 NavigationController segue back을 사용하면 wkwebview가 잘못된 위치로 이동합니다.
class HomeVC: BaseViewController, WKNavigationDelegate, WKUIDelegate {
var webView: WKWebView?
override func viewDidAppear(_ animated: Bool) {
self.edgesForExtendedLayout = UIRectEdge.top;
super.viewDidLoad()
addSlideMenuButton()
let screenSize: CGRect = UIScreen.main.bounds
let frameRect: CGRect = CGRect(x: 0, y: 100, width: screenSize.width, height: screenSize.height)
let url: NSURL = Bundle.main.url(forResource: "services", withExtension: "html")! as NSURL
let requestObj: NSURLRequest = NSURLRequest(url: url as URL);
self.webView = WKWebView(frame: frameRect)
self.webView?.load(requestObj as URLRequest)
self.webView?.navigationDelegate = self
self.webView?.uiDelegate = self
self.view = self.webView
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationItem.title = ""
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.title = "SELECT A SERVICE"
}
func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
let link: String = (webView.url?.absoluteString)!
print(link)
if(link == "file:///haircut") {
print(link)
self.openViewControllerBasedOnIdentifier("WebVC")
}
}
나는 비슷한 문제를 찾을 수 없으며 코드에서 명백한 것을 볼 수 없습니다.
2 가지 실수를 수정했지만 여전히 불행히도 같은 문제가 발생합니다. – joe642
슈퍼 클래스 호출을'super.viewDidAppear (animated)'로 변경했고 아래 코드의 맨 위 줄을 아래로 옮겼습니다. – joe642