2012-04-10 6 views
2

두 개의 스크롤 뷰가 나란히 배치되어 있으며 개별적으로 확대/축소 할 수 있습니다. 스크롤 뷰 내부에 내 뷰를 배치하고 스크롤 뷰의 확대/축소 배율을 설정하여이 작업을 수행했습니다. 지금까지, 그것은 잘 작동합니다! 이제는 두 이미지를 함께 확대해야하는 새로운 요구 사항이 있습니다. 그래야 한 이미지를 확대하면 다른 하나는 동일한 줌 눈금으로 자동 확대됩니다. 나는 roambi app을 두 개의 scrollviews가 비교 중에 편리하게 스크롤 할 수 있도록 함께 스크롤 할 수있는 참조로 제공되었습니다. 기본적으로 내가하고있는 일은 두 가지 견해를 비교하는 것입니다. scrollview 대리자 메서드를 통해 갔지만 필요한 결과를 얻을 수 없습니다. 어떻게해야합니까?줌하는 방법 2 개의 이미지를 나란히 나란히 놓았습니까?

답변

0

나는 얼마 전에 비슷한 것을 구현했습니다 (저는 버튼을 사용했습니다). 이것은 내가 그것을 어떻게 있습니다 :

UIScrollView의를 가지고 (나는 firstScrollViewsecondScrollView을 사용했습니다)

UIButton의를 가지고 (나는 firstImgBtnsecondImgBtn을 사용했습니다)를 참조를 참조합니다. 모두 scrollviews에 대표를 설정하고 다음 대리자 메서드 사용이 될 것입니다 이것은 귀하의 경우 -in UIView의 서브 클래스에 적용 할 수

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ 
    //return the respective button in the scrollview to be zoomed 
    if(scrollView==firstScrollView){ 
     return firstImgBtn; 
    } 
    else{ 
     return secondImgBtn; 
    } 
} 

- (void)scrollViewDidZoom:(UIScrollView *)scrollView{ 
    // zoom in the other scrollview when one has zoomed 
    if(zoomTogether){//a bool to decide whether to zoom the two together or not 
     if(scrollView==firstScrollView){ 
      secondScrollView.zoomScale = firstScrollView.zoomScale; 
     } 
     else{ 
      firstScrollView.zoomScale = secondScrollView.zoomScale; 
     } 
    } 
} 

UIImageView

+0

실제로 UIButtons를 직접 사용하고 있습니다. 나는 너의 방법을 시도 할 것이다 ... –

+0

그것은 일했다. .. thanks –

1

나는이 해본 적이 없다, 하지만 내 머리 꼭대기에서 나는 먼저 위와 같이 양쪽 모두에서 확대/축소를 가져와야한다고 말한 다음 위임 메서드를 사용하여 두 scrollviews가 동일한 지 확인해야합니다. contentOffset 값. 즉, 수동 스크롤 또는 프로그래밍 방식 스크롤을 통해 변경된 경우 대리자 콜백을 사용하여 다른 하나를 동일한 contentOffset 값으로 설정해야합니다.

EDIT (안된) 코드의 비트 추가 요청에 따라 :

- (void)scrollViewDidScroll:(UIScrollView*)scrollView 
{ 
    if(scrollView == self.myFirstScroller) 
    { 
    self.mySecondScroller.contentOffset = self.myFirstScroller.contentOffset; 
    } 
    else { 
    self.myFirstScroller.contentOffset = self.mySecondScroller.contentOffset; 
    } 
} 

하고 상기와 마찬가지로 행해진 줌.

그러나 복사 - 붙여 넣기 솔루션을 찾고 있다면 프로젝트에 그냥 들여 보낼 수 있습니다. 스크롤보기에 대해 좀 더 자세히 가르쳐야 할 것 같습니다. scrollviews는 약간 까다로울 수 있기 때문에 애플 프로그래밍 가이드를 읽어야한다. 그리고 제대로 작동시키기 위해서는 많은 델리게이트 메소드를 사용해야한다.

+0

당신은 이것을 위해 약간의 코드를 쓸 수 있냐? –

관련 문제