fbpx

iPhone SDK - 關閉 UIWebView 自動偵測把電話號碼加入底線的功能 (UIDataDetector)

使用 iPhone SDK 的 UIWebView 元件會發現一件很聰明的蠢事,就是當 Web 內容有出現類似電話號碼的字串時,UIWebView 會很聰明的自動加入底線,但點過一次後就會消失(在iPhone環境下點了可以撥號) 。

但是當我們在顯示像是"日期資訊"或"數字"的時候就很會掉入這個陷阱,使得這個功能將變得相當惱人!如下圖:

總有辦法關掉吧!?請參考以下方法進行修改。

在你的 AppDelegate.m 中設定參數,加入以下程式碼:

- (void)webViewDidStartLoad:(UIWebView *)theWebView
{
//UIDataDetectorTypeNone表示不偵測</pre>
theWebView.dataDetectorTypes = UIDataDetectorTypeNone;
return [ super webViewDidStartLoad:theWebView ];
}

執行以後的效果如下,果然 underline 消失了。

其他參數設定方式可參考:

  • UIDataDetectorTypePhoneNumber
  • UIDataDetectorTypeLink
  • UIDataDetectorTypeNone
  • UIDataDetectorTypeAll
Reference

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料