WKWebView、カレンダーが起動してしまうの回避策

WKWebView で、日付をタッチするとカレンダーアプリが起動してしまう問題で、初期化して addSubView すればよいということを先日書いたんだけど、これには少し問題があった。

addSubView すると、storyboard で指定した位置がずれてしまうのと、constration も無効になってしまうので、再度指定してやる必要が出てくる・・・うーん、これ辛いわ。

なんかいい方法ないんかいと、あ draw rect を上書きする、などを試してみたけどなんかうまくいかないし・・・・

storyboard の attribute inspector 見たら、ちゃんと指定できることが判明。Data detectors という section に Calender event というチェックボックスが用意されているではないか・・・このチェックを外すとカレンダーアプリが起動しなくなる。

 

後学のため、別の方法も試してみよう。

まず試したのが、addSubview すると位置がずれてしまうので、constration を追加してやる方法。storyboard で指定している constration を code に置き換えて追加してやる。code に置き換えるところですごいめんどくさい。でも一応できた。難点は、swipe ジェエスチャーがうまく反応しなくなった点。しょうがないから、わざわざ addGesture やっぱすれば反応する。

これスッゲーめんどくさいから、webView が生成された時点で configuration を追加するほうがいいな。やり方わかんないけど。