我在屏幕上有两个scrollView 一个scrollView没有调用委托自我,因为一个scrollView是第二个scrollView的副本,但颜色有一些差异。
用于缩放调用方法
- (UIView *) viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return _images[scrollView.tag];
}
但仅适用于第一个scrollView。
在scrollViewDidZoom中的我喜欢那个
scrollSecond.zoomScale = scrollFirst.zoomScale;
但没有,因为对于scrollSecond没什么可以缩放的。
如何为第二个scrollview复制动作缩放。
答案 0 :(得分:0)
in - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 你需要为两个scrollview返回一些东西。
此外,在 - (void)scrollViewDidZoom:(UIScrollView *)scrollView中,您需要为另一个scrollView设置相同的缩放比例。
我刚试过它,当我放大一个scrollView时,另一个放大了。
以下是使其运行所需的所有代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.scrollview1 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
self.scrollview2 = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 320, 320, 320)];
[self.view addSubview:self.scrollview1];
[self.view addSubview:self.scrollview2];
self.scrollview1.delegate = self;
self.scrollview2.delegate = self;
self.scrollview1.maximumZoomScale = 3.0;
self.scrollview2.maximumZoomScale = 3.0;
self.image1 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
self.image1.image = [UIImage imageNamed:@"image.jpg"];
self.image2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 320)];
self.image2.image = [UIImage imageNamed:@"image.jpg"];
[self.scrollview1 addSubview:self.image1];
[self.scrollview2 addSubview:self.image2];
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
[self.scrollview2 setZoomScale:self.scrollview1.zoomScale];
}
- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
if (scrollView == self.scrollview1)
return self.image1;
else
return self.image2;
}