2009-10-12 119 views
1

我在截取UIWebView中的URL點擊時遇到了問題。我已經閱讀並發現最常見的問題是鏈接有一個target =「_ blank」屬性可以在新窗口中打開,但我沒有這樣的屬性。 URL的形式是「/ word」,其中word是一些任意的詞。我也在必要時用%20編碼它們。我的UIWebViewDelegate類甚至沒有收到shouldStartLoadWithRequest:事件,只是沒有任何反應。我也嘗試在HTML中插入一個按鈕,而且這些按鈕也沒有響應。UIWebView無法響應

是否有任何其他規則管理哪些URL UIWebView將承認?我嘗試過使用絕對網址(甚至只是「http://www.google.com」),並且只用一個有效的鏈接替換了整個HTML字符串,但都無濟於事。真奇怪的是,我可以找到一個能夠工作的鏈接 - 它可以被點擊,並且我成功地捕捉了事件,但是看起來(我看起來很難)在包含此鏈接的HTML和其他。

鑑於我是新來的iPhone平臺,我認爲我可能會做一些更根本性的錯誤。通過應用程序的流程如下所示:主視圖是一個UITableViewController,它允許用戶從單詞列表中進行選擇。當選擇一個單詞時,會創建一個新的UIViewController並將其推送到屏幕上。這是帶有UIWebView的視圖,它顯示從SQLite數據庫加載的數據。下面是一些相關的代碼。

//move from the UITableViewController to UIViewController with UIWebView 
DetailViewController *viewController = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil]; 
... 
[self.navigationController pushViewController:viewController animated:YES]; 

//load HTML and display it in a UIWebView 
NSString *output = [NSString stringWithFormat:@"%@%@%@",header,definition,footer]; 
[definitionView loadHTMLString:output baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]]; 

任何幫助將不勝感激 - 拉着我的頭髮一會兒這個。

+0

您是否嘗試過使用其他baseURL?就像一個假的http:// URL,例如? – 2009-10-20 13:35:54

回答

0

你應該看一看的PhoneGap:http://phonegap.com/

PhoneGap的正是這樣做的(基本上這是一個大巨頭UIWebViewDelegate,使得它可以寫入了能夠拿相機的優勢,iPhone的JavaScript應用程序,GPS ,加速度計等)。下載源代碼,在'iphone'文件夾中打開PhoneGap.xcodeproj,並查看類PhoneGapDelegate。這是UIWebViewDelegate的一個很好的示例用法,很難找到更好的示例:)而且它當然是有效的。