UIScrollView无法以最小缩放开始

时间:2012-09-18 19:12:57

标签: uiscrollview xamarin.ios

我正在尝试让UIScrollView在我的Monotouch应用程序中运行。无论我将SetZoomScale()设置为它总是忽略我的起始比例。理想情况下,我想在启动时将其缩小到0.5f。

theGraphScrollView = new UIScrollView(theRect);  // Half of the screen height, full width of screen
this.View.AddSubview(theGraphScrollView);

UIImageView imageView = new UIImageView(thePhotoSource.LoadPhotoFromFile("IMG_0_17.JPG"));
theGraphScrollView.ContentSize = imageView.Image.Size;  // This is much bigger than the screen width and height.
theGraphScrollView.MaximumZoomScale = 3f;
theGraphScrollView.MinimumZoomScale = 0.5f;
theGraphScrollView.SetZoomScale(0.5f, true);
theGraphScrollView.AddSubview(imageView);
theGraphScrollView.ViewForZoomingInScrollView += (UIScrollView sv) => { return imageView;   };

谁能告诉我哪里出错了。

非常感谢。

2 个答案:

答案 0 :(得分:3)

最后你需要SetZoomScale()

在更改缩放之前,应该连接

ViewForZoomingInScrollView

答案 1 :(得分:1)

通过调用SetZoomScaleUIScrollView会尝试为视图设置动画,但您尚未添加图片,也未设置您的委托以通知theGraphScrollView哪个视图可以缩放。

SetZoomScale移至最后,您将被设置。如果这在ViewDidLoad中,您可能还需要将SetZoomScale的第二个参数设置为false,以防止在第一次加载视图时图形设置为动画。这当然是一个偏好的问题。