我正在尝试使用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);
关于我缺少的任何想法?
修改
我使用@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);
}
答案 0 :(得分: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 ();