图像不保留缩放比例和偏移量
本文关键字:偏移量 缩放比例 保留 图像 | 更新日期: 2023-09-27 17:49:16
我在ScrollView
中有一个UIImageView
。该应用程序允许用户在滚动视图内平移/缩放图像,然后应用程序保存滚动视图的ContentOffset
和ZoomScale
数据。
当我重新加载ViewController时,我做以下操作:
myImageView.image = UIImage.FromFile("image.jpg");
myScrollView.SetZoomScale(zoomScale, true);
myScrollView.SetContentOffset(contentOffset, true);
但是加载的图像在滚动视图中没有出现在相同的位置
为了保存缩放图像的状态,您需要保存缩放比例和偏移量。如果你想用这些变量加载相同的图像,你必须在更新GUI的方法中有一定的顺序(初始化控件,更改帧等)
顺序应为:-初始化控件:
UIImageView imageView = new UIImageView (this.view.bounds);
imageView.Image = image;
imageView.ContentMode = UIViewContentMode.ScaleAspectFit;
imageView.ClipToBounds = true;
UIScrollView scrollView = new UIScrollView (this.View.Bounds);
scrollView.ContentSize = new SizeF (imageView.Frame.Width, imageView.Frame.Height);
scrollView.MaximumZoomScale = 4f;
scrollView.MinimumZoomScale = 1f;
scrollView.ViewForZoomingInScrollView += (UIScrollView sv) =>
{
return imageView;
};
-向右视图添加控件
this.View.AddSubview (scrollView);
scrollView.AddSubview (imageView);
-完成后,你可以调整你的偏移
scrollView.SetContentOffset (new PointF (50, 50), false);
-缩放比例
scrollView.ZoomToRect (new RectangleF (50, 50, 100, 100), false);
希望这对你有帮助!好运!