ปิดการเลื่อนหน้าเว็บใน WebView (UIWebView / WKWebView)
วิธีง่ายที่สุดคือปิด property isScrollEnabled ของ ScrollView ภายใน WebView
โค้ดสั้นๆ (One-liner)
webView.scrollView.isScrollEnabled = false
ตัวอย่างเต็มรูปแบบ: สร้างโปรเจกต์ทดสอบ
ขั้นตอนที่ 1: สร้างโปรเจกต์
Xcode → Single View App → ชื่อ "WebViewScrollDisabling"
ขั้นตอนที่ 2: เพิ่ม UIWebView ใน Storyboard
ลาก UIWebView (หรือ WKWebView สำหรับ iOS 8+) มาเต็มหน้าจอ
ขั้นตอนที่ 3: สร้าง IBOutlet
@IBOutlet weak var webView: UIWebView!
ขั้นตอนที่ 4: โหลดเว็บไซต์ใน viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://www.tutorialspoint.com/index.htm")!
webView.loadRequest(URLRequest(url: url))
// ปิดการเลื่อน
webView.scrollView.isScrollEnabled = false
}
ขั้นตอนที่ 5: ทดสอบ
- รันครั้งแรกโดยไม่ปิด scroll → เลื่อนได้ปกติ
- เพิ่มบรรทัด
webView.scrollView.isScrollEnabled = false→ ไม่สามารถเลื่อนได้
หมายเหตุสำคัญ
- UIWebView deprecated แล้ว ควรใช้ WKWebView แทน (โค้ดเหมือนกัน:
wkWebView.scrollView.isScrollEnabled = false) - หากต้องการปิด scroll เฉพาะแนวตั้ง/แนวนอน ใช้
scrollView.alwaysBounceVertical = falseหรือalwaysBounceHorizontal - บน iOS 11+ อาจต้องตั้ง
scrollView.contentInsetAdjustmentBehavior = .neverด้วยในบางกรณี