来自Bavarious'关于UIProgressViews here:的问题
我尝试实现Dave DeLong所说的内容,并且我按照他在示例中显示的方式完成了所有操作,但是当我运行程序时,如果我尝试更改进度值,则进度条会变成拉伸图像。然而,轨道图像完美地调整并沿着轨道重复。出于某种原因,进度不是沿着进度条进行的。
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];
我尝试将我的图像变量从进度图像切换到轨迹图像,看看是否可能是不可调整大小的图像(它不应该是因为它们是完全相同的图像,只是不同的颜色) 。除非我这样做,否则轨迹图像再次完美地调整大小并且进度图像是拉伸的图像。有谁知道为什么会这样?
答案 0 :(得分:12)
您的可调整大小的内容可能不应该是{0,1,0,1}
。在您的情况下,它们看起来应该是{0,0,0,0}
或UIEdgeInsetsZero
。
我剪掉了红色和蓝色的小方块:
...然后将它们扔进UIProgressView
:
UIImage *red = [[UIImage imageNamed:@"red"] resizableImageWithCapInsets:UIEdgeInsetsZero];
UIImage *blue = [[UIImage imageNamed:@"blue"] resizableImageWithCapInsets:UIEdgeInsetsZero];
[pv setTrackImage:blue];
[pv setProgressImage:red];
当进度视图放置在progress
为0.5的用户界面上时,我得到了这个:
对我来说很好。