24/7 twenty-four seven

iOS/OS X application programing topics.

UIWebViewのタップ&ホールドで表示される「アクション」ポップアップを抑制する

LDR touchのエントリー画面のように、UIWebViewを、ブラウザとしてではなく、HTMLのビューアとして使ってるような場合は、このポップアップはあまり意味が無いので、出したくないときがあります。


これは以下のようなスタイルを指定すれば、抑制できます。

-webkit-touch-callout: none;


プログラムから抑制する場合は、JavaScriptを使って指定するといいです。
webViewDidFinishLoad:メソッドに書いておくと、ちょうどいいタイミングで実行されます。

- (void)webViewDidFinishLoad:(UIWebView *)webView {
	[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout = 'none';"];
}