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.

東京造形大学卒業後、マクロメディア(現アドビ システムズ)に入社。Quality AssuranceやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、虫カゴデザインスタジオ株式会社を設立。最近は、ZBrush、Xcode(Swift)、Firebase、Unity、Adobe Creative Cloud関連にフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。