Я работаю над функцией закладки для приложения для чтения книг iOS, которое у меня есть.Теперь он настроен так, что пользователь прокручивает вид, и когда он хочет сохранить или добавить в закладки свое место перед уходом, он нажимает кнопку сохранения на нижней панели инструментов.
Когда они нажимают эту кнопку сохранения, сохраненное действие называется:
-(IBAction) savePlace:(id)sender{
int pageYOffset = [[webView stringByEvaluatingJavaScriptFromString:@"window.pageYOffset"] intValue];
NSLog(@"%d Set Y Value", pageYOffset);
[[NSUserDefaults standardUserDefaults] setSavedSpot:pageYOffset];
}
Удивительно, но эта часть работает.Я могу нажать кнопку «Сохранить», консоль будет показывать, скажем, 200, где я нахожусь на экране, а затем, когда я ухожу и возвращаюсь, 200 снова выводится на консоль благодаря этому методу, который вызывается NSUSerDefaults, когдаприложение загружает:
- (void) setCurrentSpot:(NSUInteger)ySpot {
NSLog(@"%d Saved Y Value", ySpot);
[webView stringByEvaluatingJavaScriptFromString: [NSString stringWithFormat: @"window.scrollTo(0, %d);", ySpot]];
}
НО!Ничего не происходит ... Я точно знаю, что я сохраняю и правильно извлекаю правильное значение оси Y, но когда этот метод JavaScript вызывается, он не сработает.
Чтобы еще больше усложнить ситуацию, яМы создали собственный IBAction, который получает доступ к тому же тому же значению ySpot, и использовали точно такой же метод JavaScript, чтобы переместить представление на позицию 200, и он отлично работает!
Чего мне не хватает?Я не вижу, что происходит.Спасибо