#iphone #xcode4 #uiwebview #ios5
#iPhone #xcode4 #uiwebview #ios5
Вопрос:
Недавно я обновился до Xcode 4 и обнаружил, что приложение, которое отлично работало более года, теперь не работает под Ios 5. Приложение выполняет навигацию по PDF в UIWebView и использует следующий код для перехода на любую страницу в Pdf.
[self.pdfNavigateController.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0, %d);", self.pdfNavigateController.scrollPosition]];
Когда я использую любой симулятор начиная с версии 4.2, код работает отлично, но в симуляторе Ios 5 код не будет работать.
Просматривая форум, кажется, есть ряд проблем, из-за которых изменились классы. Что изменилось в Ios 5 и что я могу сделать, чтобы исправить проблему?
Ответ №1:
Вы можете использовать Scrollview от UIWebView для навигации, поскольку Javascript больше не поддерживается: ниже приведен мой код, который отлично работал для меня.
[aWebView.scrollView setContentOffset:CGPointMake(x, y)];
contentOffset принимает CGPoint в качестве аргумента. Здесь x и y — целочисленные значения, представляющие положение прокрутки. Если вы хотите получить текущие координаты x и y для WebView, ниже приведен код, который вы можете использовать:
NSInteger x = aWebview.scrollView.contentOffSet.x;
NSInteger y = aWebview.scrollView.contentOffset.y;
Примечание: ScrollView представлен в IOS 5 и не будет работать в более ранних версиях IOS. Функция Javascript доступна для более ранних версий. Таким образом, вы можете проверить версию устройства и соответствующим образом реализовать код.
Комментарии:
1. Спасибо, я довольно долго ждал, чтобы разобраться с этим. Спасибо Apple за проделанную дополнительную работу!!