我正在为书籍阅读器iOS应用程序提供书签功能。现在设置的方式是,用户滚动查看视图,当他们想要保存或在他们离开之前为他们的地点添加书签时,他们点击底部工具栏上的保存按钮。stringByEvaluatingJavaScriptFromString与NSUSerDefault值不工作的奇怪问题...请帮助!
当他们打这个保存按钮,保存的动作称为:
-(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方法时,它不会触发。
为了进一步复杂的事情,我继续做访问该相同 ySpot值,并且使用完全一样的JavaScript方法来移动视图位置200定制IBAction为,它完美的作品!
我错过了什么?我不明白发生了什么事。由于
嘿,杰西,就是这样!非常感谢 – Jerry 2010-11-16 17:58:41