2012-07-24 50 views
0

當放大時,嵌套在較大的uiscroll中的uiscrolls需要在放大屏幕時重置縮放級別。當滾動結束但沒有運氣時,我試圖重置所有這些。有任何想法嗎?當滾動結束時重置嵌套的uiscrollview縮放

myScrollview = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)]; 
myScrollview.pagingEnabled = YES; 
myScrollview.scrollEnabled =YES; 
myScrollview.clipsToBounds = NO; 
myScrollview.indicatorStyle = UIScrollViewIndicatorStyleWhite; 
myScrollview.showsHorizontalScrollIndicator = YES; 
myScrollview.backgroundColor = [UIColor blackColor]; 
myScrollview.delegate = self; 

NSInteger viewcount=4; 
NSArray *images = [NSArray arrayWithObjects:[UIImage imageNamed:@"01.png"],[UIImage imageNamed:@"02.png"],[UIImage imageNamed:@"03.png"],[UIImage imageNamed:@"04.png"],nil]; 

for (int i = 0; i <viewcount; i++) 
{ 
    CGFloat x = i * self.view.frame.size.width; 

    subView = [[UIScrollView alloc]initWithFrame:CGRectMake(x, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

    [subView setBackgroundColor:[UIColor blackColor]]; 
    [subView setCanCancelContentTouches:NO]; 
    subView.clipsToBounds = NO; // default is NO, we want to restrict drawing within our scrollview 
    subView.indicatorStyle = UIScrollViewIndicatorStyleWhite; 
    aImageView = [[UIImageView alloc ] initWithImage:[images objectAtIndex:i]]; 
    [self.aImageView setTag:viewcount]; 
    [subView addSubview:aImageView]; 
    [subView setContentSize:CGSizeMake(aImageView.frame.size.width, subView.frame.size.height)]; 
    subView.minimumZoomScale = 1; 
    subView.maximumZoomScale = 3; 
    subView.delegate = self; 
    [subView setScrollEnabled:YES]; 
    subView.contentSize = aImageView.frame.size; 
    [myScrollview addSubview:subView]; 
} 

myScrollview.contentSize = CGSizeMake(self.view.frame.size.width*viewcount,self.view.frame.size.height); 


[self.view addSubview:myScrollview]; 

}

-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView { 
NSLog (@"test"); 
UIView * view = nil; 
view = [subView viewWithTag:0]; 
//return view; 
return [scrollView.subviews objectAtIndex:0]; 

}

-(void)scrollViewDidScroll:(UIScrollView *)scrollView { 
NSLog(@"Did scroll"); 
[self resetImageZoom]; 

}

- (無效)scrollViewDidEndDecelerating:(UIScrollView中*)滾動視圖{ =的NSLog(@ 「難道端貼花」 );

[self resetImageZoom]; 

}

- (無效)resetImageZoom { 的NSLog(@ 「重置任何圖像縮放」);

for(UIView *view in [myScrollview subviews]) { 
    //if([view isKindOfClass:[UIScrollView class]]) { 
    //[(UIScrollView*)view setZoomScale:1.0 animated:NO]; 
    //} 
    view.transform = CGAffineTransformIdentity; 
} 

}

回答

0

這誰幹的,

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { 
NSLog(@"Did end dece"); 
for (UIView *view in scrollView.subviews) { 
    if([view isKindOfClass:[UIScrollView class]]) { 
     [(UIScrollView*)view setZoomScale:1.0 animated:NO]; 
    } 
} 

}