WKWebView でテキスト選択禁止や長押しによるメニュー表示禁止(TouchCallout)など

スポンサーリンク

iOSアプリ内にWKWebViewを組み込んだ際のブラウザの動作を少々カスタマイズ。WKWebView関係については今後もMEMOをちょくちょく残していくと思います。

WKWebViewConfigurationによる制御

これはiPadでWKWebViewを表示した時の画面ですが、こういうのや

00

こういうのを出さなくする方法です。

01

以下のような動作をMEMOしておきます。

  • 長押しによるTouchCallout(ポップメニュー)を出さなくする
  • テキスト選択をさせない(選択時のメニューも出さない)
  • ピンチインによるズームは可能に
  • iOS11からのドラッグアンドドロップ動作やそれによる画像の反転を禁止
  • スクロールは可能に
  • スクロール時のバウンスは禁止

Making Javascript feel like native iOS with WKWebView」や「UIWebView, WKWebView 等において Drag and Drop を禁止する方法」を参考にさせていただきました。

* viewDidLoadに書いています。wkwvというのがWKWebView!です。

source code by gist.