我正在制作iOS应用并在photoshop中创建了两个图像。背景图像(pic1)2208x1242像素和第二图像(pic2)928x195像素大小。 当我在横向模式下在设备上运行应用程序(iPhone 7 plus)时,第二张图像占据设备的近一半宽度。
pd.concat([df1,df2],join ='inner',axis=0).sum(level=[0,1])
似乎图像在两个方向上都被拉伸。如何解决/避免这个问题?
1)应用imageView.contentMode = .scaleAspectFit后出现同样的问题 2)如果我替换此代码
// Constraints
imageView.heightAnchor.constraint(equalToConstant: 195).isActive = true
imageView.widthAnchor.constraint(equalToConstant: 928).isActive = true
imageView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
imageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
与
imageView.heightAnchor.constraint(equalToConstant: 195).isActive = true
imageView.widthAnchor.constraint(equalToConstant: 928).isActive = true
然后一切正常,但我不明白为什么第一个版本的代码(imageView.heightAnchor和imageView.widthAnchor)不起作用?
答案 0 :(得分:2)
设置图像模式方面适合
imageView.contentMode = .scaleAspectFit
答案 1 :(得分:0)
我发现了导致这个问题的原因。
heightAnchor.constraint和widthAnchor.constraint使用点作为大小测量而不是像素,我的图像大小928x195以像素为单位。因此,为了解决问题,我只需将@ 3x图像的图像大小除以3。
来自UIKit文档:
NSLayoutDimension - 一个工厂类,用于使用流畅的API创建基于大小的布局约束对象。 概观 使用这些约束以编程方式使用“自动布局”定义布局。所有尺寸均以POINTS测量。