1

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;   };

誰かが私がどこで間違っているのか教えてもらえますか?

どうもありがとう。

4

2 に答える 2

3

SetZoomScale()最後に必要です。

ViewForZoomingInScrollViewズームを変更する前に接続する必要があります。

于 2012-09-18T19:56:01.493 に答える
1

を呼び出すことにより、ビューをアニメーションSetZoomScaleUIScrollViewしようとしますが、まだ画像を追加しておらず、theGraphScrollViewズームするビューを通知するようにデリゲートを設定していません。

最後に移動SetZoomScaleすると、設定されます。これがにある場合はViewDidLoad、の2番目のパラメータをに設定して、最初にビューをロードしたときにグラフがアニメーション化SetZoomScaleされないようにすることもできます。falseもちろん、それは好みの問題です。

于 2012-09-18T19:58:26.393 に答える