以下代码在指定的insets中平铺图像区域:
UIEdgeInsets imgInsets = UIEdgeInsetsMake(10.f, 5.f, 13.f, 44.f);
UIImage *image = [[UIImage imageNamed:@"fileName"] resizableImageWithCapInsets:imgInsets];
Run Code Online (Sandbox Code Playgroud)
但是,这仅适用于iOS5.如何在兼容iOS5之前获得相同的结果?
[UIImage stretchableImageWithLeftCapWidth: topCapHeight:]据我所知,它是不合适的,因为它假设可平铺区域是1px宽.换句话说,它不会平铺,它会拉伸.因此,它不适用于图案,仅适用于单色图像.这将在下面的屏幕截图中演示.
然后有[UIColor colorWithPatternImage:],但这假设整个图像需要平铺,它不允许必须保持上限的插图.
任何帮助表示感谢,谢谢.
.

我也一直在寻找解决这个问题的方法。此时我想我将respondsToSelector:@selector(resizableImageWithCapInsets:)在原始 UIImage 上使用来查看该方法是否可用。如果没有,则使用可拉伸图像。
我仍在寻找更好的解决方案,如果出现,我会更新答案。
| 归档时间: |
|
| 查看次数: |
5132 次 |
| 最近记录: |