在MonoTouch中缩放UIScrollView

Mar*_*rko 3 c# iphone xamarin.ios ios

我正在尝试使用MonoTouch中的UIScrollView实现缩放功能,但我似乎无法使其工作.

我已经看过一些关于设置委托的教程,但大多数是在Obj-C中,我无法将其转换为C#.

基本上,我在Interface Builder中有一个UIScrollView,它有一个UIImageView作为子视图.

我已将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);
Run Code Online (Sandbox Code Playgroud)

关于我缺少的任何想法?

编辑

我用@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);
}
Run Code Online (Sandbox Code Playgroud)

Geo*_*ton 7

尝试:

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 ();
Run Code Online (Sandbox Code Playgroud)