2012-03-05 3 views
1

scrollview에 이미지 뷰가 있습니다. scrollview 내부에있는 이미지보기를 확대/축소 할 수 있습니다. 그것의 상단에는 확대/축소 후에 위치를 변경하지 않는 일부 uibutton이 있습니다.줌 후 UIButtons 위치 변경

확대/축소 후에 어떻게 UIButton의 위치를 ​​변경합니까?

는 감사

+0

'UIScrollView'의'layoutSubviews'를 오버라이드 해보고 위치를 잡으셨습니까? –

+0

아니, 내가하려고하지 .. 거기에 어떤 샘플 코드가 그것을 할 수 있습니까? – iOSDev

+0

제발 도와주세요, 여전히 붙어 : ( – iOSDev

답변

0

귀하의 질문이 좀 모호 도와주세요. 그러나, 당신이하고있는 것이 무엇이든, 나는 UIScrollViewDelegate가 당신을 도울 수 있다고 믿습니다.

스크롤 할 때이를 알 수있는 스크롤보기의 대리자입니다. 나는 버튼이 있어야하는 곳을 찾지 못했지만,이 델리게이트를 사용하면 어디에 있든 간단히 배치 할 수 있습니다.

+0

나는 이미 UIScrollview 대리인을 구현했으며 성공적으로 이미지를 확대 할 수는 있지만 확대/축소시 위치를 재조정해야하는 이미지 뷰에는 UIButtons가 있습니다. – iOSDev

1

한 가지 방법은, 당신의 스크롤 뷰 위임의 scrollViewDidZoom: 대리자 메서드를 구현하여 UIScrollViewcontentOffsetcontentSize 속성을 사용하여 현재 표시된 사각형을 결정, 스크롤 뷰의 가시 사각형을 기준으로하여 버튼의 새 위치를 계산하는 것 원하는대로 frame 속성을 설정하여 버튼을 해당 사각형으로 재배치하십시오.

1

Fisk가 언급했듯이 UIScrollViewDelegate가 도움이됩니다. 위임 방법 중 하나는 :

-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale 

이 방법은 당신의있는 ScrollView가 확대 할 때 호출받을해야있는 UIScrollView 대리자를 구현하는 경우. 따라서이 방법을 사용하면 확대/축소 후 버튼의 위치를 ​​변경할 수 있습니다.

[yourButton1 setCenter:CGPointMake(newX,newY)]; 

행운을 빕니다.