在iOS 6.0中不推荐使用内容拉伸属性,我找不到似乎正常工作的替代方法。
以下是适用但在iOS 6.0中弃用的代码:
UIImageView *sectionsSeparator = [[UIImageView alloc] initWithFrame:CGRectMake(x, 0, separatorWidth, totalHeight)];
sectionsSeparator.image = [self imageForSectionsSeparator];
sectionsSeparator.contentStretch = CGRectMake(0, 0.25f, 1, 0.5f);
[self addSubview:sectionsSeparator];
我尝试了下面的代码,但图片没有正确排列:
UIImageView* sectionsSeparator = [[UIImageView alloc] initWithFrame:CGRectMake(x, 0, separatorWidth, totalHeight)];
[sectionsSeparator setImage:[[self imageForSectionsSeparator] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 0.25f, 1.0f, 0.5f)]];
[overlayView addSubview:sectionsSeparator];
也许我错过了什么,有什么建议吗?
答案 0 :(得分:3)
被弃用并不意味着它停止工作,它只是意味着您应该选择替代方案,但旧方法仍然有效。
无论如何,如果你想避免弃用的东西,你可以按照文档中的规定创建一个可伸缩的图像:
编辑:
cap inset方法与内容拉伸方法相反(它向后工作)。在内容延伸上,你用一个矩形覆盖你想要拉伸的东西,这是一个例子:
http://j0ris.tumblr.com/post/7345178587/uiview-contentstretch
然而,在 resizableImageWithCapInsets 中,您可以涵盖不要想要拉伸的内容。
在缩放或调整图像大小的过程中,上限覆盖的区域是 没有缩放或调整大小。相反,像素区域未被盖子覆盖 在每个方向上都是平铺,从左到右和从上到下,以调整大小 图像。
所以你应该以不同的方式制作插图。