Как сохранить состояние UIScrollView?

Это поставило меня в тупик. Я пытаюсь понять, как сохранить состояние UIScrollView. Например, у меня есть несколько изображений в UIScrollView, которые загружаются следующим образом:

    NSUInteger i;
for (i = 1; i <= kNumImages; i++)
{
    NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i];
    UIImage *image = [UIImage imageNamed:imageName];
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
}

Теперь мой вопрос: как я могу сделать так, чтобы пользователь мог вернуться к изображению, на котором он остановил прокрутку? Кто-нибудь знает, как это сделать? Спасибо.


person 0SX    schedule 06.01.2010    source источник


Ответы (1)


Попробуй это:

NSUserDefaults  *defaults = [NSUserDefaults standardDefaults];
[defaults setFloat: scrollview.contentOffset.x forKey: @"myScrollPositionX"];
[defaults setFloat: scrollview.contentOffset.y forKey: @"myScrollPositionY"];

Для восстановления:

scrollView.contentOffset = CGPointMake([defaults floatForKey: @"myScrollPositionX"], [defaults floatForKey: @"myScrollPositionY"]); 
person Ben Gottlieb    schedule 06.01.2010
comment
Работает идеально!! Спасибо Бен!! Я пытался использовать objectForKey, который не работал, ха-ха... Еще раз спасибо. - person 0SX; 06.01.2010
comment
Мне пришлось использовать [NSUserDefaults standardUserDefaults], чтобы это сработало. Спасибо за ответ. - person nevan king; 02.02.2010