我想让我的 UIImage 使用 resizableImageWithCapInsets 在 iPhone 和 iPad 中看起来一样

I wants to make my UIImage looks same in iPhone and iPad using resizableImageWithCapInsets

我正在使用这张图片

它在 iPhone 中效果很好,但如果我在 iPad 中使用此图像,它的边缘会被拉伸。

我知道我可以使用 resizableImageWithCapInsets,但它对我来说效果不佳。

请建议我应该做什么以及 resizableImageWithCapInsets 的工作原理。

我当前的代码是这样的,(但它不适合我)

[[self IBimgCellBGImage]setImage:[[UIImage imageNamed:@"img_cellBGView.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 4, 1, 4)]];

您使用的插图太小了,它只是在角落里遮盖了一个 1 x 4 的像素。这是透明的,因此正在使用不调整大小。

你实际上只想拉伸最中心的像素,对于你的图像,像这样就可以了:

[[self IBimgCellBGImage]setImage:[[UIImage imageNamed:@"img_cellBGView.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(98, 150, 98, 150)]];

您甚至可能希望将图像缩小并在所有设备上拉伸以节省空间 space。