在MonoTouch中缩放UIScrollView
我试图在MonoTouch中使用UIScrollView实现缩放function,但我似乎无法使其工作。
我已经看了几个关于设置Delegate的教程,但大部分都是在Obj-C中,我不能将它转换为C#。
基本上,我有一个UIScrollView在Interface Builder中有一个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);
任何想法,我失踪?
编辑
我用@Geoff提供的代码创build了一个新的.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); }
尝试:
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 ();