내 프로젝트에서 나는 WKWebView가 스토리 보드 (그림의 회색)에서 생성 한 viewForEmbeddingWebView라는 다른 UIView 안에 임베드 된 것을 보여주고 싶은 뷰 컨트롤러가 있습니다.WKWebView를 사용자 정의 UIView에 올바르게 포함시키는 방법은 무엇입니까?
나는 나의의 ViewController에서이 논리를 구현했습니다 :
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
@IBOutlet weak var viewForEmbeddingWebView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
webView = WKWebView(frame: viewForEmbeddingWebView.frame, configuration: WKWebViewConfiguration())
self.viewForEmbeddingWebView.addSubview(webView)
self.webView.allowsBackForwardNavigationGestures = true
let myURL = URL(string: "https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
}
그것은 WKWebView를 표시하지만 경계의 모양 잘못된 (첫 번째 : viewForEmbeddingWebView의 경계에 맞지 않으며 두 번째 : 상단에 흰색 틈이 있음). 나는 사과의 사이트에서 WKWebView를 사용해야한다는 것을 읽었습니다. https://developer.apple.com/reference/webkit/wkwebview 그러나 그들의 예는 내 상황이 아닙니다. ViewController의 전체보기에서 WKWebView를로드하는 상황을 처리하는 방법 만 보여주기 때문에 내 상황이 아닙니다. 하지만 나중에이 WKWebView 주위에 또 다른 UI가 필요할 것이므로 다른 뷰에 포함되어야합니다. WKWebView 전에는 WebView가 있었지만 iOS 8이 등장한 이후에는 WKWebView를 사용해야합니다. 많은 자료를 살펴 봤지만 Swift 3 및 Xcode 8에서 좋은 답변을 찾지 못해서 도와주세요.
저는 Xcode 8과 Swift 3을 iOS 10.2와 함께 사용하고 있습니다.
. 귀하의 솔루션에서 나는 여전히 WKWebView의 상단에 하얀 틈이 보인다. 그것을 숨기는 방법? WKWebView 뒤에있는 흰색 스크롤 뷰입니다. WKWebView를 화이트 갭이 없도록 만드는 방법? 추신 귀하의 솔루션에서 나는 또한 webView.uiDelegate = self를 보지 못합니다. WKWebView를 제대로 작동하게 만들지 않겠습니까? – Adelmaer
스크린 샷을 추가하여 변경할 수있게 할 수 있습니까? Xcode의 뷰 계층 구조 디버거로 앱을 확인 했습니까? (https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/debugging_with_xcode/chapters/special_debugging_workflows.html) –
빈 공간을 해결했습니다 : self.automaticallyAdjustsScrollViewInsets = false, viewDidLoad에 감사합니다. – Adelmaer