簡體   English   中英

如何禁用 UIWebview 水平滾動?

[英]How to disable UIWebview horizontal scrolling?

我嘗試通過插入來禁用它:

<meta name="viewport" content="width=320" />

進入我的 HTML 字符串,以及上面的十幾種變體,希望我只是搞砸了標簽語法……但似乎沒有什么能阻止 UIWebView 水平滾動。 然而,有些應用程序可以做到這一點(例如 MobileRSS),並且大概因為它們沒有被拒絕,所以它們沒有使用私有 API。

我的版本,一個常見的解決方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView {

[webView.scrollView setContentSize: CGSizeMake(webView.frame.size.width, webView.scrollView.contentSize.height)];

}

我最終設法解決了這個問題。 我已經嘗試過設置視口寬度值,但沒有奏效。 什么 DID 工作是使用 overflow:hidden 結合設置視口寬度。 無論如何感謝您的回答。

如果 webView 包含一個長度大於 webView 的單詞。 你必須打破那根弦。 所以在div中使用下面的代碼

自動換行:斷字;

您的網頁需要有兩個屬性:1——視口元標記和 2——320px 或更小的寬度,包括邊距和填充。

這是一個非常簡單的 HTML5 框架,它應該允許垂直滾動和禁止水平滾動,包括禁止水平彈跳。 這也不允許縮放——它假定您的網頁應始終以 1-1 的方式顯示給用戶。 如果您使用 UIWebView 來顯示用戶界面,這將非常有用。

<!doctype html>
<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=0" />
    <style>
        body {width:320px;margin:0;padding:0;}
    </style>
</head>
<body></body>
</html>

UIWebviewUIScrollview的委托(在 iOS5 上通過webview.scrollView和在 iOS4 上通過遍歷子視圖樹並選擇UIScrollview子視圖)設置為“self”並使用以下代碼:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [scrollView setContentOffset:CGPointMake(0, scrollView.contentOffset.y)];
}

完美運行,出於某種原因,我的 HTML 代碼水平溢出,不需要它。 這修復它。

<meta name="viewport" content="width=device-width, user-scalable=no initial-scale=1.0" />

Swift 5.0解決方案:

func webViewDidFinishLoad(_ webView: UIWebView) {
    webView.scrollView.contentSize = CGSize(width: webView.frame.size.width, height: webView.scrollView.contentSize.height)        
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM