使用UIImage的UIProgressView自定义进度条

时间:2012-06-20 23:52:13

标签: uiimage resize progress-bar uiprogressview

我正在使用iOS 5,我一直在寻找并且没有找到我是否可以使用带有UIImage的UIProgressView制作一个厚的进度条。我如何使用一个小的.png文件,并基本上用UIProgressView拉伸它,使它看起来像一个进度条或者它可能吗?是否有可能使.png高,或者它将被限制为UIProgressView有多高?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我发现了如何做到这一点。首先在iPhone屏幕上放置一个UIProgressView。我把它放在x:86 y:272。我将它连接到视图控制器的.h文件,将其命名为progView,并在.m文件中对它进行合成。我将以下代码放在ViewDidLoad方法中:

// Select the images to use
UIImage *track = [[UIImage imageNamed:@"trackBar"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)];
UIImage *progress = [[UIImage imageNamed:@"progBar"] resizableImageWithCapInsets:UIEdgeInsetsMake(1, 1, 1, 1)];
// Set the track and progress images
[self.progView setTrackImage:track];
[self.progView setProgressImage:progress];
[self.progView setProgressViewStyle:UIProgressViewStyleDefault]; // we don't need anything fancy
// Create a bound where you want your image. This places the attached .png bars so that the bar drains downward. I was using this as a countdown bar on the iPhone.
self.progView.frame = CGRectMake(-70, 70, self.view.bounds.size.height/1.00, 100);
// A normal progress bar fills up from left to right. I rotate it so that the bar drains down.
self.progView.transform = CGAffineTransformMakeRotation((90) * M_PI / 180.0);

这会拍摄图像并从中间拉伸,保留每一侧的像素。但是,必须使用图像编辑器更改图像的宽度。我认为不可能拉伸宽度。

progBar.png: progBar.png trackBar.png: trackBar.png