UIScrollView缩放视图没有被调用
问题描述:
我做了一个带有页面的UIScrollView。在每一页上,我将有一个UIImageView与UIScrollView。我想以这种方式处理每个页面上图像的缩放。但缩放委托方法没有被调用。 这里是我的代码:UIScrollView缩放视图没有被调用
verticalScroll=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
horizontalScroll=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
verticalScroll.backgroundColor=[UIColor purpleColor];
verticalScroll.pagingEnabled=YES;
verticalScroll.contentSize=CGSizeMake(768*[largeImagesFromGallery count], 1024);
horizontalScroll.backgroundColor=[UIColor blackColor];
horizontalScroll.pagingEnabled=YES;
horizontalScroll.contentSize=CGSizeMake(1024*[largeImagesFromGallery count], 768);
float cofVert=1.34f;
for(int i=0; i<[largeImagesFromGallery count]; i++)
{
UIImage *temp=[largeImagesFromGallery objectAtIndex:i];
UIScrollView *svVert=[[UIScrollView alloc] initWithFrame:CGRectMake(i*768, 0, temp.size.width/cofVert, temp.size.height/cofVert)];
svVert.contentSize=CGSizeMake(temp.size.width/cofVert, temp.size.height/cofVert);
svVert.zoomScale=3.0f;
svVert.delegate=self;
UIImageView *imageVert=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, temp.size.width/cofVert, temp.size.height/cofVert)];
imageVert.image=temp;
imageVert.tag=2000;
UIScrollView *svHor=[[UIScrollView alloc] initWithFrame:CGRectMake(i*1024, 0, temp.size.width, temp.size.height)];
svHor.delegate=self;
svHor.contentSize=CGSizeMake(temp.size.width, temp.size.height);
UIImageView *imageHor=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, temp.size.width, temp.size.height)];
imageHor.image=temp;
imageHor.tag=2000;
[svVert addSubview:imageVert];
[svHor addSubview:imageHor];
[verticalScroll addSubview:svVert];
[horizontalScroll addSubview:svHor];
//fr=CGRectMake(0, 0, 768, 1024);
//[verticalScroll addSubview:imageVert];
// [horizontalScroll addSubview:imageHor];
}
//verticalScroll.delegate=self;
// horizontalScroll.delegate=self;
ambiancesON=YES;
if(self.interfaceOrientation==UIInterfaceOrientationPortrait || self.interfaceOrientation==UIInterfaceOrientationPortraitUpsideDown)
{
[self.view addSubview:verticalScroll];
}
else if(self.interfaceOrientation==UIInterfaceOrientationLandscapeLeft || self.interfaceOrientation==UIInterfaceOrientationLandscapeRight)
{
[self.view addSubview:horizontalScroll];
}
所以现在我有变焦方法:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
NSLog(@"Log log log");
NSLog(@"VIew? %@", [[scrollView subviews]objectAtIndex:0]);
return [[scrollView subviews]objectAtIndex:0];
}
变焦不会被调用((
答
我认为这是在你的设计有一个缺点我会。建议为每个内部滚动视图创建一个视图控制器类(您想对缩放做出响应的视图控制器类)。这样,如果所有东西都连线正确(UIScrollView委托被分配给内部视图控制器),它应该如您所期望的那样工作