iOS 8 Swift UIWebView 内容大小
iOS 8 Swift UIWebView content size
我有一个 UIPageViewController
UIWebViews
呈现 .pdf 作为内容。 UIWebView
(内容)被缩放以适合框架宽度。有些 PDF 有双倍宽度,所以我尝试增加 WebView 的框架宽度
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var frame = self.mPageWebview.frame;
frame.origin.x = 0;
frame.origin.y = 0;
if(frame.size.width > self.view.frame.size.width) {
frame.size.width = self.view.frame.size.width * 2
frame.size.height = self.view.frame.size.height
}
self.mPageWebview.frame = frame
}
对于渲染,它按预期工作(框架仅显示 PDF 的左半部分)但向右滚动不起作用。谁能帮我解决这个问题?
要使滚动视图滚动,内容视图必须大于滚动视图的大小。因此,当您说您将内容视图的宽度缩放为等于框架的宽度时,它不会水平滚动,因为宽度相同。
等到内容加载完毕,然后检查其大小并使其适合视图,只要内容大于视图,它就会滚动。
func webViewDidFinishLoad(webView: UIWebView) {
// Set webView frame to content size.
self.webViewHeightConstraint.constant = webView.scrollView.contentSize.height
}
我有一个 UIPageViewController
UIWebViews
呈现 .pdf 作为内容。 UIWebView
(内容)被缩放以适合框架宽度。有些 PDF 有双倍宽度,所以我尝试增加 WebView 的框架宽度
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
var frame = self.mPageWebview.frame;
frame.origin.x = 0;
frame.origin.y = 0;
if(frame.size.width > self.view.frame.size.width) {
frame.size.width = self.view.frame.size.width * 2
frame.size.height = self.view.frame.size.height
}
self.mPageWebview.frame = frame
}
对于渲染,它按预期工作(框架仅显示 PDF 的左半部分)但向右滚动不起作用。谁能帮我解决这个问题?
要使滚动视图滚动,内容视图必须大于滚动视图的大小。因此,当您说您将内容视图的宽度缩放为等于框架的宽度时,它不会水平滚动,因为宽度相同。
等到内容加载完毕,然后检查其大小并使其适合视图,只要内容大于视图,它就会滚动。
func webViewDidFinishLoad(webView: UIWebView) {
// Set webView frame to content size.
self.webViewHeightConstraint.constant = webView.scrollView.contentSize.height
}