Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> iOS

Cách vô hiệu hóa cuộn (scroll) trong WebView trên iOS

Giới thiệu

Vô hiệu hóa cuộn trong UIWebView (hoặc WKWebView) trên iOS rất đơn giản nhờ thuộc tính scrollView được công khai.

Cách nhanh nhất

Chỉ cần một dòng mã:

webView.scrollView.isScrollEnabled = false

Ví dụ hoàn chỉnh từ đầu

Bước 1: Tạo dự án

Xcode → New Project → Single View Application → Tên "WebViewScrollDisabling".

Bước 2: Thêm UIWebView vào Storyboard

Cách vô hiệu hóa cuộn (scroll) trong WebView trên iOS

Bước 3: Kết nối IBOutlet

@IBOutlet weak var webView: UIWebView!

Bước 4: Tải trang web

Trong viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()
    let url = URL(string: "https://www.tutorialspoint.com/index.htm")!
    webView.loadRequest(URLRequest(url: url))
}

Bước 5: Chạy thử - WebView cuộn được

Cách vô hiệu hóa cuộn (scroll) trong WebView trên iOS

Bước 6: Vô hiệu hóa cuộn

Thêm dòng mã sau khi load request:

override func viewDidLoad() {
    super.viewDidLoad()
    let url = URL(string: "https://www.tutorialspoint.com/index.htm")!
    webView.loadRequest(URLRequest(url: url))
    webView.scrollView.isScrollEnabled = false // Vô hiệu hóa cuộn
}

Bước 7: Chạy thử - WebView không cuộn được

Cách vô hiệu hóa cuộn (scroll) trong WebView trên iOS

Lưu ý quan trọng

  • UIWebView đã deprecated từ iOS 12. Nên sử dụng WKWebView (WebKit) cho dự án mới.
  • Với WKWebView: webView.scrollView.isScrollEnabled = false (tương tự).
  • Nếu cần cuộn theo chương trình: webView.scrollView.setContentOffset(CGPoint(x: 0, y: 100), animated: true).