UIImage API提供了以某些区域被拉伸的方式调整图像大小的方法,而其他区域保持不变 - 非常适合可调整大小的UI元素的背景图像。
现在我正在寻找一种方法来为更复杂的背景图像自定义此行为。
这是- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;
的作用。透明区域保持不变,当视图大小改变时,红色区域会被拉伸。
这就是我想要的 - 对拉伸区域进行更精细的控制:
我想我必须通过覆盖我的UIView子类的-(void)drawRect:
方法然后使用Quartz来绘制图像来做到这一点。
我无法弄清楚我必须使用哪种系统API。
有人能给我一个提示如何做到这一点吗? 提前谢谢!
答案 0 :(得分:1)
我会在里面使用三个独立的UIImageViews和resizableImageWithCapInsets。您也可以在drawRect中使用,例如,CGPattern,但在缩放视图时会出现性能问题。