iOS中的自定义“可调整大小的图像”绘图
Posted
技术标签:
【中文标题】iOS中的自定义“可调整大小的图像”绘图【英文标题】:Custom "resizable image" drawing in iOS 【发布时间】:2013-11-21 10:03:49 【问题描述】:UIImage API 提供了调整图像大小的方法,以使某些区域被拉伸,而其他区域保持不变 - 非常适合用于可调整大小的 UI 元素的背景图像。
现在我正在寻找一种方法来为更复杂的背景图像自定义此行为。
这就是- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets;
所做的。透明区域保持不变,当视图大小改变时,红色区域被拉伸。
这就是我想要的 - 对拉伸区域进行更精细的控制:
我想我必须通过覆盖我的 UIView 子类的 -(void)drawRect:
方法来做到这一点,然后使用 Quartz 来绘制图像。
我只是不知道我必须使用哪些系统 API。
谁能给我一个提示如何做到这一点?
【问题讨论】:
你找到答案了吗?我现在面临同样的问题... 不幸的是,我现在一直在使用多个 UIImageView。它并不优雅,但它正在工作。如果您发现更好的东西,请随时通知我! 【参考方案1】:我将只使用三个单独的 UIImageViews,其中包含 resizableImageWithCapInsets。您也可以在 drawRect 中使用,例如 CGPattern,但是在缩放视图时会遇到性能问题。
【讨论】:
我不想使用多个 UIImageViews,抱歉我应该提到这一点。我已经尝试过这种方法,它有效,但由于与此上下文无关的原因,它不适合我的情况。以上是关于iOS中的自定义“可调整大小的图像”绘图的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 中创建可调整大小的图像/矩形 - Objective C