我需要为每个表格创建一个非常复杂的背景图像:http://i.stack.imgur.com/PBL0S.png
中心有一个透明的圆圈。我的单元格的高度取决于其内容-可能会有所不同。但是我需要这个圆圈始终位于背景图像的中心并具有恒定的大小。
我的解决方案是:将图像切成两部分,然后使用resizableImageWithCapInsets:
方法创建两个UIImageView
,并将它们一个放在另一个的下面。存在问题:此方法仅在iOS 5以后可用,但是我的应用程序需要在iOS 4.3下运行。不幸的是,我不能使用方法stretchableImageWithLeftCapWidth:topCapHeight:
,因为在半张图像上使用不同高度获得的上下盖。
请帮我创建具有相同功能的方法resizableImageWithCapInsets:
,或者,如果有更好的解决方案,请告诉我。
最佳答案
简单的方法可以涉及三个图像视图:
top imageview:可拉伸的图像,标签图像的顶部
中心图像视图:不可拉伸的固定尺寸图像,标签图像的中心部分包括白洞
底部图像视图:可拉伸的图像,标签图像的底部
子类UITableViewCell
并覆盖layoutSubviews
,以便顶部图像视图始终具有相同的大小,而中心图像视图保留其大小和中心位置。
编辑:
您也可以将stretchableImageWithLeftCapWidth:topCapHeight:
方法与不同的笔盖高度一起用于不同的图像。我看不出您的方法无法正常运作的原因。