2

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

4

1 回答 1

2

我已经找到了如何做到这一点。首先在 iPhone 屏幕上放一个 UIProgressView。我把我的放在 x:86 y:272。我将它连接到视图控制器的 .h 文件,将其命名为 progView,并在 .m 文件中@synthesized。我将以下代码放在 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);

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

程序栏.png: 进度条.png 轨道栏.png: 轨迹栏.png

于 2012-07-11T03:51:31.940 回答