我有多个UIScrollView用作图像'过滤器',它们被加载到switch语句中。 switch语句基于UISgemgentedControllers段索引。
当我加载scrolView时,它的工作正常,但在加载下一个并返回第一个时,我无法滚动它,只能滚动我之前设置的那个。
例如:
初始化1>选择过滤器1
初始化2>选择过滤器2
返回1>仍然在过滤器2上(但滚动视图重新初始化)
有谁知道我如何轻松地在它们之间切换,让他们保持自己的位置并允许我单独访问它们?
下面是我的一个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;
答案 0 :(得分:0)
您是否检查过分段控制器中的代码?当再次选择第一个段时,听起来很可能没有正确显示它的UIImage。 Apple也改变了3.0后按钮的行为。值得一读的是:http://developer.apple.com/library/ios/ipad/#documentation/uikit/reference/UISegmentedControl_Class/Reference/UISegmentedControl.html
查看您选择的按钮行为是否符合预期。