首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不保留缩放比例和偏移的图像

不保留缩放比例和偏移的图像
EN

Stack Overflow用户
提问于 2014-03-09 10:37:51
回答 1查看 770关注 0票数 1

我在ScrollView中有一个UIImageView。该应用程序允许用户在滚动视图中平移/缩放图像,然后应用程序保存滚动视图的ContentOffsetZoomScale数据。

当我重新加载ViewController时,我执行以下操作:

代码语言:javascript
运行
复制
myImageView.image = UIImage.FromFile("image.jpg");
myScrollView.SetZoomScale(zoomScale, true);
myScrollView.SetContentOffset(contentOffset, true);

但是加载的图像在滚动视图中不会出现在相同的位置。

EN

回答 1

Stack Overflow用户

发布于 2015-01-07 23:57:59

为了保存缩放图像的状态,您需要保存缩放比例和偏移。如果您想用这些变量加载相同的图像,您必须在更新GUI的方法中有一个特定的顺序(初始化控件、更改框架等)。

顺序应该是:-初始化你的控件:

代码语言:javascript
运行
复制
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;
};

  • 将控件添加到

的右侧视图中

代码语言:javascript
运行
复制
this.View.AddSubview (scrollView);

scrollView.AddSubview (imageView);

  • 完成后,您可以调整您的偏移量

代码语言:javascript
运行
复制
scrollView.SetContentOffset (new PointF (50, 50), false);

  • 和缩放比例

代码语言:javascript
运行
复制
scrollView.ZoomToRect (new RectangleF (50, 50, 100, 100), false);

希望这能有所帮助!祝好运!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22277744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档