我正在爲書籍閱讀器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