使2个UIScrollViews缩放和滚动相同

时间:2013-09-11 13:44:48

标签: ios objective-c uiviewcontroller uiscrollview

我有一个有两个UIScrollViews的屏幕。在scrollview中是一个可缩放的UIImageView。

我想在一个scrollView中实现相同的滚动和缩放以应用于另一个。即,如果用户跨越图像,则两个滚动视图以完全相同的速率平移它们的图像。如果用户缩小将图像缩放为一个,则另一个缩放的数量完全相同。

我在这里读到有关使用zoomToRect:animated:call的信息。我不确定如何实现它,所以我尝试了以下 - 但它似乎没有产生正确的结果。 NB。 scrollView包含self.imageViewLeft。 self.scrollViewRight是未触及的scrollView。

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    CGRect visibleRect = [scrollView convertRect:scrollView.bounds toView:self.imageViewLeft];
    [self.scrollViewRight zoomToRect:visibleRect animated:false];
}

1 个答案:

答案 0 :(得分:1)

我解决了它们!道具给我。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {

    if (scrollView == self.scrollViewLeft) {
        [self.scrollViewRight setZoomScale:[scrollView zoomScale]];
        [self.scrollViewRight setContentOffset:[scrollView contentOffset]];
    } else {
        [self.scrollViewLeft setZoomScale:[scrollView zoomScale]];
        [self.scrollViewLeft setContentOffset:[scrollView contentOffset]];
    }
}