根据屏幕尺寸翻译/缩放UIImageViews

时间:2019-05-22 08:37:33

标签: ios swift uiimageview

我有一个空白的矩形uiview,它会根据设备屏幕尺寸动态调整大小。

我以编程方式将uiview uiimageview插入subviews中,然后将CGRectCGPointCGAffineTransform数据保存到数据库中

然后,我可以获取此数据并重新上传并查看我之前插入的uiimageview

如果我使用相同的设备屏幕尺寸,一切都很好,但是我的问题是尝试使这些保存的数据点适应其他屏幕尺寸,因此无论您使用哪种iOS设备,它的外观都很好。 / p>

我尝试将屏幕的原始高度和宽度与其他数据点一起存储,因此,例如,我可以找到原始宽度的变化,以调整原始x坐标以移动更多或更少的点。 / p>

let widthPointChange = new.bounds.width - saved.originalSuperviewWidth
let heightPointChange = new.bounds.height - saved.originalSuperviewHeight
 newUIImageView.center = CGPoint(x: saved.x + widthPointChange, y: saved.y + heightPointChange)

是否有更好的方法可以根据各种屏幕尺寸进行翻译/缩放,但这仍然适用于原始屏幕吗?我想知道,例如,Instagram如何能够保存用户生成的故事并在设备大小之间始终如一地按比例显示它们。

1 个答案:

答案 0 :(得分:0)

尝试这种方法!

let view = UIView()
let image = UIImageView()

image.translatesAutoresizingMaskIntoConstraints = false
view.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
view.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
view.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
view.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true

view.addSubview(image)