我是iPhone開發的初學者,希望有人能幫助我解決我的問題。iPhone鍵盤在UIWebView中隱藏字段
我有一個顯示網頁的UIWebView。如果用戶點擊網頁上的文本框,則彈出鍵盤。這很棒,但它隱藏了用戶點擊的字段。我環顧四周,找到代碼示例來處理這個問題,但沒有一個專門處理UIWebView。我已經實現了UIKeyboardDidShowNotification和UIKeyboardDidHideNotification,但不知道如何正確調整UIWebView的大小。我曾嘗試將UIWebView放在UIScrollView中,但沒有取得任何成功。下面的代碼似乎調整了UIWebView,但不會讓它滾動到該字段。
-(void) keyboardDidShow: (NSNotification *)notif{
if (keyboardShown) return;
NSLog(@"Keyboard Show");
NSDictionary *info = [notif userInfo];
NSValue *aValue = [info objectForKey:UIKeyboardBoundsUserInfoKey];
CGSize keyboardSize = [aValue CGRectValue].size;
CGRect viewFrame = webBrowser.frame;
viewFrame.size.height -= keyboardSize.height;
webBrowser.frame = viewFrame;
keyboardShown = YES;
}
-(void) keyboardDidHide: (NSNotification *)notif{
NSLog(@"Keyboard hide");
keyboardShown = NO;
}
希望有人能幫助我或指出我的方向正確。
謝謝!
皮特
您是否嘗試過實施JavaScript解決方案?當文本字段的焦點事件觸發時,您可以執行一個函數,該函數可平滑地向上滾動頁面以容納鍵盤。另請參閱 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)腳本 用於Objective-C/Javascript合作。 – 2010-03-27 01:33:55