2011-02-16 4 views
3

MonoTouch에서 UIScrollView를 사용하여 확대/축소 기능을 구현하려고하지만이 기능이 작동하지 않는 것 같습니다.MonoTouch에서 UIScrollView 확대/축소

위임자 설정에 대한 몇 가지 자습서를 살펴 봤지만 대부분 Obj-C에서 C#으로 번역 할 수 없습니다.

기본적으로 UIImageView가 Subview 인 인터페이스 작성기에 UIScrollView가 있습니다.

UIScrollView의 ContentSize를 이미지의 전체 크기로 설정했으며 최소/최대 줌 배율도 설정했습니다. 여기 내 코드 :

UIImage imgMap = new UIImage("img/map.png"); 
ivMap.Image = imgMap; 
svMap.MinimumZoomScale = 1.0f; 
svMap.MaximumZoomScale = 3.0f; 
svMap.ContentSize = new System.Drawing.SizeF(ivMap.Frame.Width, ivMap.Frame.Height); 

실종에 대한 아이디어가 있습니까? 내가 확대하지 않습니다 여전히 @Geoff에서 제공하는 코드를하지만 여전히 행운, 이미지 만 스크롤 새로운 .xib 파일을 만든 적이 있지만

편집 할 수 있습니다.

public override void ViewDidLoad() 
{ 
    base.ViewDidLoad(); 

    UIScrollView sv = new UIScrollView (thisView.Frame); 
    UIImageView iv = new UIImageView(UIImage.FromFile ("img/map.png")); 

    sv.AddSubview (iv); 
    sv.ContentSize = iv.Frame.Size; 
    sv.MinimumZoomScale = 1.0f; 
    sv.MaximumZoomScale = 3.0f; 

    vwMineral.AddSubview(sv); 
} 

답변

7

시도 : 당신의 대답 @Geoff에 대한

var sv = new UIScrollView (window.Frame); 
var iv = new UIImageView (UIImage.FromFile ("pat.jpg")); 

sv.AddSubview (iv); 
sv.ContentSize = iv.Frame.Size; 
sv.MinimumZoomScale = 1.0f; 
sv.MaximumZoomScale = 3.0f; 
sv.MultipleTouchEnabled = true; 
sv.ViewForZoomingInScrollView = delegate(UIScrollView scrollView) { 
    return iv; 
};  

window.AddSubview (sv); 
window.MakeKeyAndVisible(); 
+0

덕분에, 난 그냥 코드 만 당신이 위에 제공 한 다시 한번 나는 이미지를 스크롤 만 할 수있는 새 .xib 파일을 만들었습니다 확대/축소는 할 수 없습니다. 또한 IB에서 "Multiple Touch"옵션을 활성화하려고 시도했지만 동일한 작업을 수행 할 수 있습니다. 추신 이미지 크기가 1490x1320으로 매우 큽니다. 더 많은 정보가 필요하면 알려주세요. – Marko

+0

죄송합니다. 완전한 해결책으로 답변을 업데이트했습니다. –

+0

그게 바로'ViewForZoomingInScrollView' 부분을 놓친 것입니다. 감사 – Marko

관련 문제