我正在尝试让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; };
谁能告诉我哪里出错了。
非常感谢。
答案 0 :(得分:3)
最后你需要SetZoomScale()
。
ViewForZoomingInScrollView
。
答案 1 :(得分:1)
通过调用SetZoomScale
,UIScrollView
会尝试为视图设置动画,但您尚未添加图片,也未设置您的委托以通知theGraphScrollView
哪个视图可以缩放。
将SetZoomScale
移至最后,您将被设置。如果这在ViewDidLoad
中,您可能还需要将SetZoomScale
的第二个参数设置为false
,以防止在第一次加载视图时图形设置为动画。这当然是一个偏好的问题。