从UIImageView获取UIImage的origin.x

3

当视图的比例模式设置为 Center 时,在 UIImageView 中显示的 UIImage 的 X 坐标是否可以得到?

以下图片更好地说明了我的需求:

Picture explaining the problem

2个回答

5

这基本上是简单的数学:

CGFloat x = (imageView.frame.size.width - imageView.image.size.width) / 2;

我认为 UIImageView 只在渲染期间调整图像大小,而不是实际的 UIImage - DrummerB
1
当然可以。只需要在发布问题后等待10分钟即可。 - Gio
1
@H2CO3 你说得对。文档有点误导人:“UIViewContentModeCenter-将内容置于视图边界的中心,保持比例不变。”从技术上讲,这意味着它可以被调整大小(只需保持比例不变)。但是,center实际上并不会调整大小。 - DrummerB
这当然行不通!你得到的是图像的分辨率(实际像素或点数),而不是相对于ImageView的大小,这在大多数情况下会导致负值! - user3892683
@user3892683 没错。那么为什么这个“答案”会得到赞同?有什么可靠的解决方案吗? - code4latte

1

我认为不行。

但是有一个解决方案,您可以计算图像的高度和宽度,然后根据此计算中心位置,如(imageView.frame.size.width-image.size.width)/2,高度也是同样的方法。

希望这能解决您的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接