resizableImageWithCapInsets / asset目录切片会混淆单位和像素

时间:2014-07-05 08:37:28

标签: ios xcode

向新用户发布图像相关问题的道歉,我需要更多声誉才能在我的帖子中包含图片:)

我试图在不缩放角落的情况下调整图像大小。我尝试使用resizableImageWithCapInsets以及切片资产目录(尽管后者仅支持iOS 7+的部署目标,这实际上并不能使其成为解决方案选项......)。我正在使用一个名为“ViewHeaderTest.png”的图像,它是44x100像素。每个角落的大写/插图应为16x16像素的正方形。

这是代码:

    UIImageView *headerTest = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ViewHeaderTest.png"]];
    headerTest.image = [headerTest.image resizableImageWithCapInsets:UIEdgeInsetsMake(8, 8, 8, 8) resizingMode:UIImageResizingModeStretch];
    headerTest.frame = CGRectMake(0, 0, 22, 50);

代码和资产目录切片为我产生了相同的结果,奇怪的是,在stackoverflow上的任何其他地方都没有提到:大写/插图工作正常,但它们被缩放到原始大小的两倍。基本上,似乎resizableImageWithCapInsets返回的图像是原始比例的两倍。

任何接受者? :)

1 个答案:

答案 0 :(得分:0)

找到解决方案:

据怀疑,这是一个视网膜问题。使用帽子插图时,为避免xcode混淆视网膜和非视网膜图像,

  • 没有文件扩展名的图片图片名称,即@" FileName"而不是@" FileName.png"
  • 有视网膜和"正常"项目中相应分辨率的文件版本。即在项目中有FileName.png(100px x 100 px)和FileName@2x.png(200px x 200px)。

我很高兴它有效,所以我没有检查其中任何一个是否多余:)