iPad 的 UIButton 图像

UIButton images for iPad

与 iPhone 相比,iPad 设备我需要更大的按钮和图像尺寸。在 Size 类 之前,我曾经使用以 @2x~ipad 结尾的图像来为 iPad 设置不同的版本。但是,不清楚在使用 Size 类 和 Trait 集合时是否同样适用,还是有更好的方法?另外,iPad Pro 12.9 英寸是@3x 还是@2x?我看到相互矛盾的反应,但如果它是 @2x,我们如何为 iPad Pro 提供更大的图像尺寸?

您混淆了尺寸和分辨率。

如果你有一个 UIImageView150 x 150 points,并且你有 MyPic.png + MyPic@2x.png + MyPic@3x.png,图像视图的 frame 将始终为 150 x 150 ,但UIKit会自动select正确的分辨率图像对于设备。参见 https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/image-size-and-resolution/

如果您希望根据设备/视图尺寸为您的按钮和图像设置不同尺寸 ,请使用 Trait Variations,或代码,或基于百分比的约束。

同样,如果您有 MyPic.png + MyPic@2x.png + MyPic@3x.png 个相同图像的文件,将使用适当分辨率的图像,而不管 帧数尺寸.

使用资产目录处理图像时有很大的灵活性。例如:

您可以为 1x、2x 和 3x 添加不同分辨率的图像...您可以添加特定于 iPhone / iPad / 等的图像集。


编辑

附加示例。资产名为 "RoundSwift256x256"。我为 iPhone 设置了 3 个分辨率,为 iPad 设置了 2 个分辨率(没有 iPad 使用 @3x)- 使用不同的颜色使其非常明显。

在 Storyboard 中,我添加了一个 imageView,将其图像设置为 RoundSwift256x256。然后将助理编辑器设置为预览并 selected iPhone 8 和 iPad Pro 9.7”。如您所见,它使用我的 iPhone 图片作为 iPhone,和我的 iPad 图片 iPad.