मैं अपनी तालिका दृश्य को अंतिम स्थिति याद रखने की कोशिश कर रहा हूं, ताकि ऐप फिर से चलने के बाद, यह उस स्थिति तक स्क्रॉल हो जाएगा। ऐसा करने के लिए, मेरे viewWillDisappear:
विधि में, मुझे पहली बार दिखाई देने वाली पंक्ति संख्या मिलती है और इसे NSUserDefaults
पर सहेजती है। फिर मेरे विचार में DidAppear मैं तालिका दृश्य में scrollToRowAtIndexPath
भेज कर उस पंक्ति पर स्क्रॉल करने का प्रयास करता हूं।UITableView scrollToRowAtIndexPath
*** Terminating app due to uncaught exception 'NSRangeException', reason: '-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: section (0) beyond bounds (0).
किसी भी मदद की सराहना की: हालांकि मैं एक NSRangeException
मिलता है। यहां कोड है:
- (void)viewDidAppear:(BOOL)animated
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if ([userDefaults valueForKey:@"content_row"] != nil)
{
int rowToHighlight = [[userDefaults valueForKey:@"content_row"] intValue];
NSIndexPath * ndxPath= [NSIndexPath indexPathForRow:rowToHighlight inSection:0];
[contentTableView scrollToRowAtIndexPath:ndxPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
}
-(void) viewWillDisappear:(BOOL)animated
{
NSIndexPath *selectedRowPath = [[contentTableView indexPathsForVisibleRows] objectAtIndex:0];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setInteger:selectedRowPath.row forKey:@"content_row"];
}
क्या आप कोड के बिट को पोस्ट कर सकते हैं जो scrollToRowAtIndexPath और NSIndexPath निर्माण करता है? – probablyCorey