我正在开发一些包含带有这些属性的webview的iPhone应用程序:
[[webView.subviews objectAtIndex:0] setScrollEnabled:NO]; //to stop scrolling
[[webView.subviews objectAtIndex:0] setBounces:NO]; //to stop bouncing
在webview上有一个文本输入 问题是,在我尝试输入输入后,键盘正在上升,所有页面也都在上升。但是在键盘关闭后,页面本身会保持向上。
由于webview没有滚动,因此在重新启动应用程序之前无法正确查看页面。
任何想法?
答案 0 :(得分:0)
这是一个简单的解决方案。首先在视图控制器的- (void)viewDidLoad
中添加以下代码:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidHide:)
name:UIKeyboardDidHideNotification
object:nil];
这样可以在键盘隐藏时收到通知。
将以下方法添加到视图控制器:
- (void)keyboardDidHide: (NSNotification*) notification
{
UIScrollView* scroll = nil;
if([webView respondsToSelector: @selector(scrollView)])
scroll = webView.scrollView; //iOS5 and up
else
scroll = [webView.subviews objectAtIndex:0]; //iOS4 and below
[scroll setContentOffset: CGPointMake(0, 0)];
}
每当隐藏键盘时,这将导致UIWebView滚动到0,0(顶部)。