번들에서 HTML 문서를로드하는 단일 UIWebView로 매우 간단한 장면이 있습니다. webView는 상단 레이아웃 가이드 아래의 화면을 채우고 권장되는 제약 조건을 사용합니다. 두 가지 이상한 행동이 있습니다 :UIWebView가 제대로 스크롤되지 않는 이유는 무엇입니까?
조금 아래로 스크롤되는 내용부터 시작합니다. 아래의 첫 번째 이미지에서이를 볼 수 있습니다. 분홍색은 UIWebView의 색상이고 html 자체는 흰색입니다.
(다시 : 사진보기) 내용이 맨 아래까지 스크롤되었지만 스크롤러가 webView의 맨 위에 있지 않기 때문에 webView의 UIScrollView 자체에 뭔가 이상한 점이 있습니다. 콘텐츠 상단에 있습니다.
내용은 쉽게 그 분홍색 영역으로 스크롤 않으며, 내용이 모든 방법까지 스크롤 할 때, 스크롤 막대가있는 UIWebView의 맨 아래에 있습니다. 두 번째 이미지보기.
프로그래밍 방식으로 contentOffset을 설정할 수 있다는 것을 알았지 만 webViewDidFinishLoad 함수에서만 작동하고 가시 점프가 발생합니다. 웹보기가 먼저 그려지기 때문에 스크롤이 잘 안되기 때문입니다. 의 ViewController
@charset "UTF-8";
body {
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
font-size: 16px;
}
그리고 여기에 있습니다 : :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<link href="help.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h2>Frequently-asked questions</h2>
</body>
</html>
그리고 CSS : 여기
은 (공간을 잘립니다) HTML입니다class HelpViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let navController = self.navigationController
navController?.navigationBarHidden = false
}
override func viewWillAppear(animated: Bool) {
loadURL();
}
func loadURL() {
let htmlName = "support";
let url = NSBundle.mainBundle().URLForResource(htmlName, withExtension: "html")
self.webView.delegate = self;
if let goodURL = url {
let request = NSURLRequest(URL: goodURL)
self.webView.loadRequest(request)
}
}
}
이 문제처럼 보인다 IB의 어떤 것과 관련이 있어야하지만, 나는 무엇을 보지 못합니다. 어떤 밝은 아이디어라도?
미리 감사드립니다.
는 -Dave
는 웹보기의 레이아웃 문제가, 당신이있는 ScrollView 내부 웹보기가 있습니까 인터페이스 빌더 – JeanLuc
의 설정을 보여 주 시겠어요?그렇다면 웹 뷰에는 scrollview 자체가 포함되어 있으므로 두 개의 scrollview로 끝나기 때문에 필요하지 않습니다. 이는 필자의 경우에는 필요하지 않다고 생각합니다. – JeanLuc
@JeanLuc : scrollview 내부에 webview가 없습니다. –