【发布时间】:2010-11-10 13:06:58
【问题描述】:
在 iphone 中 UIProgressView 高度是固定的,我需要为高度 40(可变高度)创建 UIProgressView,如何在 drawRect 方法中编写我的自定义代码?我是 Quartz 的新手,可以绘制任何可用的样本。
提前致谢。
【问题讨论】:
标签: iphone cocoa-touch quartz-graphics
在 iphone 中 UIProgressView 高度是固定的,我需要为高度 40(可变高度)创建 UIProgressView,如何在 drawRect 方法中编写我的自定义代码?我是 Quartz 的新手,可以绘制任何可用的样本。
提前致谢。
【问题讨论】:
标签: iphone cocoa-touch quartz-graphics
实际上,您可能不需要子类化drawRect:。
大概您的进度视图的图像是“可拉伸的”(即它们具有固定大小的左右两端,中间部分可以拉伸)?您可以通过加载UIImage 创建可拉伸图像,调用stretchableImageWithLeftCapWidth:topCapHeight: 以获取可以分配给UIImageView 的图像。然后,当您调整UIImageView 的大小时,图像会自动正确重绘——在图像视图的左右端绘制左右“大写”,中间部分被拉伸以填充中间。
您的进度条变成了一个视图,其中包含两个 UIImageViews 作为子项:一个用于背景,一个用于填充进度条。巧妙地使用autoresizingMask,您应该只需要更改进度条填充的框架即可更新显示。
【讨论】: