2010-10-19 16 views
0

我是新來的iOS編程,所以請允許我問愚蠢的問題,如果它是:)<select>標籤不UIWebView的工作,對iOS4的

我有一個程序,使用一個UIWebView加載HTML頁面,展示給最終用戶。

的頁面很簡單,

<select> 
    <option>A</option> 
    <option>B</option> 
    <option>C</option> 
    <option>D</option> 
</select> 

WebView controller init: 
WebViewController *webVC = [[WebViewController alloc] initWithNibName:@"WebViewController" bundle:nil]; 

加載HTML頁面中這樣說:

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://*****/app/"]]]; 

當節目開始時,最終用戶會看到一個下拉菜單,如果點擊菜單,最終用戶將看到一個選項列表,然後選擇一個。

問題是,它在iOS3.2中工作正常,但是在我將SDK升級到iOS4後,它不起作用,點擊下拉菜單時沒有任何事情發生。

任何人都可以幫助我嗎?

我的UIWebView有什麼問題嗎?

非常感謝。

回答

0

加載這樣的HTML頁面:

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://*****/app/"]]]; 
0

我遇到了同樣的問題。

在我的情況下,它是UIView上的一個類,我最近定義爲關閉鍵盤。每次用戶觸摸視圖時,我都會在超級視圖中調用endEditing:YES,並且放棄superview及其所有子視圖的第一個響應者狀態。

這工作得很好,直到我第一次在UIWebView中有一個html選擇/選項。我無法選擇條目。我是一個小混混,因爲在我的本地代碼中使用UIPickerView,它也不是問題。

問題是,我正在觸摸UIPickerTableViewWrapperCell這是一個UITableViewCell,這是 - 一個UIView!通過辭職PickerView的UIPickerTableViewWrapperCell功能的第一響應者被破壞。

的解決方案是獲得視圖的上海華和檢查類和以例外:

#import "UIView+KeyboardDismisser.h" 

@implementation UIView (KeyboardDismisser) 

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if(([[self superview] superclass] == [UITableViewCell class]) ||([[self superview] superclass] == [UITableView class]) ) 
    { 
     [super touchesBegan:touches withEvent:event]; 
    } 
    else 
    { 
     [[self superview] endEditing:YES]; 
    } 
} 
@end 

所以,要當心在中央的元素,如UIView的這種全局鉤子,使例外。