У меня есть несколько UIScrollViews, используемых в качестве «фильтров» изображения, которые загружаются в оператор switch.Оператор switch основан на индексе сегмента UISgemgentedControllers.
Когда я загружаю scrolView, он работает нормально, но при загрузке следующего и возвращении первого я не могу прокрутить его, а только тот, который я ранее установил.
Например:
Инициализация 1> Выбор фильтра 1
Инициализация 2> Выбор фильтра 2
Возврат к 1> Все еще на фильтре 2 (однако scrollViewповторная инициализация)
Кто-нибудь знает, как я могу легко переключаться между ними, чтобы они могли сохранять свое положение и разрешать мне доступ к ним по отдельности?
Ниже приведен мой код для одного из scrollViews (онивсе одинаковые)
Заранее спасибо!
~~~ Код ниже ~~~
- (void)layerSelected:(id)sender
{
int index = filterControl.selectedSegmentIndex;
switch (index)
{
case 0: if (scroll == nil)
{
scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
scroll.pagingEnabled = YES;
scroll.delaysContentTouches = NO;
scroll.userInteractionEnabled = YES;
NSInteger viewCount = 15;
for (int i = 0; i < viewCount; i++)
{
CGFloat yOrigin = i * self.view.frame.size.width;
UIImageView *filterViewOverlay = [[UIImageView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
[filterViewOverlay setImage:[filterManager objectAtIndex:i]];
[scroll addSubview:filterViewOverlay];
[filterViewOverlay release];
}
scroll.contentSize = CGSizeMake(self.view.frame.size.width * viewCount, self.view.frame.size.height);
[self.scroll setContentOffset:currentPos1];
[self.view addSubview:scroll];
[scroll release];
}
else
{
[self.scroll setContentOffset:currentPos1];
scroll.scrollEnabled = YES;
}
break;