如何创建自定义进度查看?

时间:2010-11-10 13:06:59

标签: iphone cocoa-touch quartz-graphics

在iphone中UIProgressView高度是固定的,我需要为高度40(可变高度)创建UIProgressView,如何在drawRect方法中编写我的自定义代码?我是Quartz的新手,可以提供任何样品。

提前致谢。

1 个答案:

答案 0 :(得分:1)

实际上,您可能不需要继承drawRect:

据推测,您的进度视图的图像是“可伸缩的”(即它们的左右两端都有固定尺寸,中间部分可以拉伸)?您可以通过加载UIImage来创建可伸缩图像,并调用stretchableImageWithLeftCapWidth:topCapHeight:以获取可分配给UIImageView的图像。然后,当您调整UIImageView的大小时,图像会自动重绘 - 左右两侧的“大写”将在图像视图的左右两端绘制,中间部分将被拉伸以填充中间。

您的进度条成为一个视图,其中包含两个UIImageView作为子项:一个用于背景,另一个用于填充的进度条。通过巧妙地使用autoresizingMask,您只需要更改进度条填充的框架以更新显示。