如何在iOS的WebView中以程式設計方式阻止滾動?


在iOS中停用WebView滾動非常簡單。

iOS公開了WebView的‘scrollView’屬性。

您只需要使用以下程式碼停用相應scrollView的滾動。

webView.scrollView.isScrollEnabled = false

以上程式碼將停用WebView的滾動。

如果您只想停用WebView的滾動,以上程式碼就可以實現。如果您想從頭開始學習如何載入WebView並停用滾動,請繼續閱讀。

讓我們在Xcode中建立一個示例專案並學習WebView的載入。

步驟1 - 開啟Xcode → 新建專案 → 單檢視應用程式 → 我們將其命名為“WebViewScrollDisabling”

步驟2 - 開啟Main.storyboard並新增一個UIWebView,如下圖所示

步驟3 - 在ViewController類中新增一個IBOutlet用於上述新增的WebView,將其命名為webView。

@IBOutlet weak var webView: UIWebView!

步驟4 - 在這裡,我們將在webView中載入TutorialsPoint網站。因此,在ViewController類的viewDidLoad方法中新增以下幾行程式碼

webView.loadRequest(URLRequest(url: URL(string: "https://tutorialspoint.tw/index.htm")!))

步驟5 - 執行應用程式。您將看到TutorialsPoint網站已載入。嘗試滾動webview。您應該能夠像下圖所示那樣滾動webview。

步驟6 - 現在我們的目標是停止webView的滾動。我們可以透過停止底層scrollView的滾動來實現這一點。在載入weView之後新增以下程式碼行。

webView.scrollView.isScrollEnabled = false
After doing this your viewDidLoad method would look like this
override func viewDidLoad() {
   super.viewDidLoad()
   // Do any additional setup after loading the view, typically from a nib.
   webView.loadRequest(URLRequest(url: URL(string: "https://tutorialspoint.tw/index.htm")!))
   webView.scrollView.isScrollEnabled = false
}

步驟7 - 現在執行應用程式。與之前的情況一樣,webView將載入TutorialsPoint網站。但是我們將無法滾動它。嘗試滾動webview。您將無法做到。

更新於:2019年9月11日

1K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.