objective-c - 为什么 UIProgressview 进度条不能调整大小?

标签 objective-c xcode progress-bar uiprogressview

来自 Bavarious 关于 UIProgressViews here: 的问题

我尝试实现 Dave DeLong 所说的内容,并完全按照他在他的示例中展示的方式进行操作,但是当我运行该程序时,如果我尝试更改进度值,我的进度条会变成拉伸(stretch)图像。然而,轨道图像会完美调整大小并沿轨道重复。出于某种原因,进度并没有沿着进度条进行。

UIImage * load = [[UIImage imagedNamed:@"load.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 1, 0, 1)];
UIImage * track = [[UIImage imageNamed:@"track.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 1, 0, 1)]; 
[progressbar progressImage:load];
[progressbar trackImage:track];
[progressbar setProgress:0.5];

Original images and progress bar results

我尝试将我的图像变量从进度图像切换到轨道图像,看看是否是无法调整大小的图像(不应该是因为它们是完全相同的图像,只是颜色不同) .除了我这样做的时候,轨道图像再次完美调整大小,而进度图像是拉伸(stretch)的图像。有谁知道为什么会这样?

最佳答案

您的可调整大小的大写字母可能不应该是 {0,1,0,1}。在您的情况下,它们看起来应该是 {0,0,0,0}UIEdgeInsetsZero

我剪掉了红色和蓝色的小方 block :

blue red

...然后将它们放入UIProgressView:

UIImage *red = [[UIImage imageNamed:@"red"] resizableImageWithCapInsets:UIEdgeInsetsZero];
UIImage *blue = [[UIImage imageNamed:@"blue"] resizableImageWithCapInsets:UIEdgeInsetsZero];

[pv setTrackImage:blue];
[pv setProgressImage:red];

当进度 View 以 progress 为 0.5 放置在 UI 上时,我得到了这个:

progress view

我觉得不错。

关于objective-c - 为什么 UIProgressview 进度条不能调整大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10738361/

相关文章:

objective-c - 我的 App Store 应用显示 "Test Ad"iAd

javascript - 使用javascript在python循环中更新HTML

ios - 配置与 iOS 6 兼容的 iOS 7 应用程序

ios - 转义正则表达式保留字符?

xcode - 无法分配 UIImage 类型的值?为 Dynamic<UIImage?> 类型的值

ios - 从 Swift 访问 Unity 值

python-3.x - 使用 Flask 更新进度条

html - Bootstrap 3 中的分段进度条

iOS 基础知识 : private property, 公共(public) setter / getter

objective-c - 从 kCGWindowNumber 获取 NSWindow