2012-04-16 3 views
1

Я работаю на некоторые приложения iPhone, которые содержат WebView с этими свойствами:Webview не возвращает его место после ввода в поле ввода

[[webView.subviews objectAtIndex:0] setScrollEnabled:NO]; //to stop scrolling 

[[webView.subviews objectAtIndex:0] setBounces:NO]; //to stop bouncing 

На WebView есть ввод текста Проблема заключается в том что после того, как я пытаюсь ввести ввод, клавиатура поднимается и вся страница тоже. но после того, как клавиатура опущена, сама страница остается вверх.

example 1

Поскольку WebView без прокрутки оно не может быть возможным, чтобы правильно видеть страницу, пока не перезапустить приложение.

любые идеи?

+0

Решение, которое я нашел, это: onblur = "window.location = '#'" – uriel

ответ

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 (верх) всякий раз, когда клавиатура скрыта.

Смежные вопросы