如果UIWebView中的某個元素具有樣式屬性-webkit-user-modify:read-write,則按該元素將導致鍵盤出現。是否有可能以編程方式調出鍵盤?以編程方式在UIWebView中顯示鍵盤
感謝
如果UIWebView中的某個元素具有樣式屬性-webkit-user-modify:read-write,則按該元素將導致鍵盤出現。是否有可能以編程方式調出鍵盤?以編程方式在UIWebView中顯示鍵盤
感謝
因爲當自動視圖成爲第一響應者上顯示鍵盤,你往往不需要做任何事情來顯示它。但是,可以通過調用該視圖的becomeFirstResponder方法以編程方式顯示可編輯文本視圖的鍵盤。調用此方法使目標視圖成爲第一響應者,並開始編輯過程,就好像用戶已輕敲視圖一樣。
我懷疑調用[webView becomeFirstResponder]
會調出鍵盤,只要沒有所需樣式的HTML元素有焦點。所以你真正的問題可能是以編程方式將HTML文檔中的焦點設置爲元素。我會嘗試通過Javascript來做到這一點。像這樣的東西可能會奏效:
NSString *jscode = @"document.getElementById('whatever').focus();";
[self.webView stringByEvaluatingJavaScriptFromString:jscode];
沒有那個運氣。我還應該說,我已經在我的UIWebView中放入了一個canBecomeFirstResponder方法,它只是返回YES,並在方法中放置一個斷點。當我用style屬性觸摸一個元素時,鍵盤出現,沒有調用canBecomeFirstResponder。有趣的是,當我觸摸輸入輔助視圖上的完成按鈕時調用該方法。 – 2012-03-20 01:11:27
你可以發佈他們的UIWebView顯示的HTML代碼嗎?最終它將有助於找到一個你想要的Javascript功能。 – 2012-03-20 01:13:30
HTML在標題中包含此腳本 – 2012-03-20 01:25:53
它看起來像在iOS6的,現在你可以用「keyboardDisplayRequiresUserAction」做到這一點:
keyboardDisplayRequiresUserAction 布爾值,指示網頁內容是否可以編程顯示鍵盤。
@屬性(非原子)BOOL keyboardDisplayRequiresUserAction 討論 當該屬性被設置爲YES,用戶必須明確地挖掘web視圖,以顯示該元素的鍵盤(或其他相關輸入視圖)中的元素。當設置爲NO時,元素上的焦點事件會導致輸入視圖被自動顯示並與該元素相關聯。
此屬性的默認值爲YES。
可用性 適用於iOS 6.0及更高版本。 宣佈 UIWebView.h
參考:
謝謝,它解決了iOS6的問題 – lenhhoxung 2013-12-04 08:54:57
這種風格也許適用於身體? – Chaosphere2112 2012-03-20 00:02:08