ios – 在滚动视图中使用自动布局缩放图像如何居中?

ios – 在滚动视图中使用自动布局缩放图像如何居中?,第1张

概述我几乎完全使用故事板中的自动布局进行缩放,唯一的问题是我的图像在缩放后不会居中.我们的目标是使图像边界完全无需黑条纹. 这是我的约束(它基本上是带有imageView的标准ScrollView): 以下是我按顺序完成的工作. Firstable我设置了UIScrollViewDelegate方法: -(UIView *)viewForZoomingInScrollView:(UIScrollVie 我几乎完全使用故事板中的自动布局进行缩放,唯一的问题是我的图像在缩放后不会居中.我们的目标是使图像边界完全无需黑条纹.

这是我的约束(它基本上是带有imageVIEw的标准ScrollVIEw):

以下是我按顺序完成的工作. Firstable我设置了uiscrollviewdelegate方法:

-(UIVIEw *)vIEwForZoomingInScrollVIEw:(UIScrollVIEw *)scrollVIEw{    return self.fullScreenImageVIEw;}

然后在图像下载完成后我更新了我的UIImageVIEw的高度约束:

-(voID)setupConstraintsToImageSize:(CGSize)imageSize {    [self.imageHConstraint setConstant:imageSize.height];    [self layoutIfNeeded];}

对于图像约束就像

所以它的工作就像这样(对不起3MB GIF):

所以它几乎几乎可以工作,但它奇怪地走到了底部,而不是中心,如何居中呢?

我发现我必须做方法 – (voID)scrollVIEwDIDZoom:(UIScrollVIEw *)scrollVIEw但是我真的不确定我应该在那里设置什么.

解决方法 找到了!我设法用autoLayout完成了这个

要实现这一点,需要做的是创建Center Y Constraints的插座,然后在缩放时修改它:

-(voID)scrollVIEwDIDZoom:(UIScrollVIEw *)scrollVIEw {    CGfloat diff = self.fullScreenImageVIEw.frame.size.height-self.fullScreenImageVIEw.image.size.height;    if(self.fullScreenImageVIEw.frame.size.height >= self.frame.size.height) {return;}    [self.centerYConstraint setConstant:-diff/2];}

而已.

总结

以上是内存溢出为你收集整理的ios – 在滚动视图中使用自动布局缩放图像如何居中?全部内容,希望文章能够帮你解决ios – 在滚动视图中使用自动布局缩放图像如何居中?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1048029.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存