2017-03-31 2 views
1

내 이미지를 래핑하여 화면의 이미지를 이동하고 핀치 및 팬 제스처 인식기를 사용하고 있습니다. 계산 Gesture pinch for zoomingGesture pan for moving 가이드에서 가져 왔습니다. 팬에 대한Xamarin Forms 요소 경계 계산

여기에 간단한 계산의 예 : 나는 포장 이미지로 행 위에 추가 그리드 행을 추가하고 내가 확대 및 내 그리드 행에 스택 것 이미지를 이동할 수 있습니다 때

// Translate and ensure we don't pan beyond the wrapped user interface element bounds. 
Content.TranslationX = Math.Max(Math.Min(0, xOffset + e.TotalX), -Math.Abs(Content.Width - App.ScreenWidth)); 
Content.TranslationY = Math.Max(Math.Min(0, yOffset + e.TotalY), -Math.Abs(Content.Height - App.ScreenHeight)); 

문제입니다.

이 경우 이미지의 경계를 어떻게 계산합니까?

+0

제스처 인식기가 눈금 또는 이미지에 있습니까? 문제를 다시 말하면 문제가 무엇인지 정교하게 표현할 수 있습니까? 나는 그 문장을 따르는 데 어려움을 겪고있다. –

+0

답장을 보내 주셔서 감사합니다. 나는 내 문제를 보여 주려고 노력할 것이다. 여기에 내 눈금이 있습니다. [스크린 샷] (http://joxi.ru/L214bd8t41LBmX) 맨 위에 화살표가있는 첫 번째 행 = "0"이 있습니다. 내가 맨 위에 이미지를 옮길 때 여기 첫 번째 그리드 행을 다룹니다. [Screenshot] (http://joxi.ru/KAxN97KHkOYGm8) 어떻게 고칠 수 있습니까? –

답변

0

컨트롤을 확대/축소하거나 이동할 수있는 컨테이너를 사용하는 경우 컨테이너의 크기와 위치가있는 좌표로 경계를 사용하여 좌표를 이동하도록 배율을 제한 할 수 있습니다.

Xamarin.Form의 격자는 구성에 따라 안쪽 요소 만 정렬하지만 더 멀리있는 컨트롤 수정은 rect rect로 제한하지 않습니다.

스케일링을 수행하는 코드에서 콘텐츠 너비 또는 높이가 컨테이너 너비 또는 높이보다 작거나 같은지 확인하는 조건을 추가합니다.

콘텐츠 이동과 동일합니다. 콘텐츠 변경 중지 콘텐츠가 Conteiner Rect에서 떨어지는 경우.