我需要为每个表格单元创建一个非常复杂的背景图像:http://i.stack.imgur.com/PBL0S.png
它的中心有一个透明的圆圈。我的细胞高度取决于它的含量 - 它可能会有所不同。但我需要这个圆圈始终位于背景图像的中心并且具有恒定的大小。
我的解决方案是:将图像剪切为2个部分,然后使用方法resizableImageWithCapInsets:
创建两个UIImageView
并将它们一个放在另一个之下。有问题:此方法仅在iOS 5之后可用,但我的应用程序需要在iOS 4.3下运行。不幸的是,我不能使用方法stretchableImageWithLeftCapWidth:topCapHeight:
,因为我的半图像的顶部和底部上限获得了不同的高度。
请帮助我创建具有相同功能的方法resizableImageWithCapInsets:
或者,如果有更好的解决方案,请告诉我。
答案 0 :(得分:2)
直截了当的方法可能涉及三个图像视图:
子类UITableViewCell
并覆盖layoutSubviews
,使得顶部图片视图的大小始终相同,中心图像视图保留其大小和中心位置。
编辑:
对于不同的图像,您还可以使用具有不同上限高度的stretchableImageWithLeftCapWidth:topCapHeight:
方法。我没有看到为什么你的方法不能正常工作的原因。