同步缩放两个 UIScrollView。
Zoom two UIScrollViews synchronously.
我有两个 UIScrollView。两个滚动视图都包含一个图像。现在,如果我手动放大第一个滚动视图,我想以编程方式缩放第二个滚动视图。我正在使用 -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 方法手动缩放第一个滚动视图。第二个滚动视图应该缩放到相同的点和比例。我怎样才能做到这一点?
在 UIScrollViewDelegate 方法中尝试这样的事情:
override func scrollViewDidScroll(scrollView: UIScrollView){
otherScrollView.contentOffset = scrollView.contentOffset
otherScrollView.zoomScale = scrollView.zoomScale
}
通过使用这两个滚动视图的标签或对象,您可以在 viewForZoomingInScrollView 方法中识别您需要放大的滚动视图。
例如
//need to set the tag for scrollviews
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
if(scrollView.tag == 1)
{
return firstImageView;
}
return secondImageView;
}
OR
//need to create the object of used scrollviews
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
if(scrollView == objScrollViewFirst)
{
return firstImageView;
}
return secondImageView;
}
这样的事情怎么样:
CGRect zoomRect;
zoomRect.size.height = manualScrollView.frame.size.height / manualScrollView.zoomScale;
zoomRect.size.width = manualScrollView.frame.size.width / manualScrollView.zoomScale;
zoomRect.origin.x = manualScrollView.center.x - (zoomRect.size.width / 2.0);
zoomRect.origin.y = manualScrollView.center.y - (zoomRect.size.height / 2.0);
[autoScrollView zoomToRect:zoomRect animated:YES];
[autoScrollView setZoomScale:manualScrollView.zoomScale animated:YES];
我有两个 UIScrollView。两个滚动视图都包含一个图像。现在,如果我手动放大第一个滚动视图,我想以编程方式缩放第二个滚动视图。我正在使用 -(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 方法手动缩放第一个滚动视图。第二个滚动视图应该缩放到相同的点和比例。我怎样才能做到这一点?
在 UIScrollViewDelegate 方法中尝试这样的事情:
override func scrollViewDidScroll(scrollView: UIScrollView){
otherScrollView.contentOffset = scrollView.contentOffset
otherScrollView.zoomScale = scrollView.zoomScale
}
通过使用这两个滚动视图的标签或对象,您可以在 viewForZoomingInScrollView 方法中识别您需要放大的滚动视图。
例如
//need to set the tag for scrollviews
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
if(scrollView.tag == 1)
{
return firstImageView;
}
return secondImageView;
}
OR
//need to create the object of used scrollviews
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
if(scrollView == objScrollViewFirst)
{
return firstImageView;
}
return secondImageView;
}
这样的事情怎么样:
CGRect zoomRect;
zoomRect.size.height = manualScrollView.frame.size.height / manualScrollView.zoomScale;
zoomRect.size.width = manualScrollView.frame.size.width / manualScrollView.zoomScale;
zoomRect.origin.x = manualScrollView.center.x - (zoomRect.size.width / 2.0);
zoomRect.origin.y = manualScrollView.center.y - (zoomRect.size.height / 2.0);
[autoScrollView zoomToRect:zoomRect animated:YES];
[autoScrollView setZoomScale:manualScrollView.zoomScale animated:YES];