我有一个空白矩形uiview
,它根据设备屏幕尺寸动态调整大小。
在 uiview
中,我以编程方式插入 uiimageview
subviews
,然后保存 CGRect
、CGPoint
和 CGAffineTransform
数据到我的数据库。
然后我可以获取此数据并重新上传并查看我之前插入的 uiimageview
。
如果我有相同的设备屏幕尺寸,一切都很好,但我的问题是尝试将这些保存的数据点适应其他屏幕尺寸,这样无论您使用什么 iOS
设备,它在视觉上看起来都很好上。
我尝试将屏幕的原始高度和宽度与其他数据点一起存储,这样我就可以找到原始宽度的变化,以调整原始 x 坐标以移动更多或更少的点。
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 如何能够保存用户生成的故事并在不同设备尺寸上一致且按比例地显示它们。
最佳答案
试试这个方法!
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)
关于ios - 根据屏幕尺寸平移/缩放 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56252623/