3

UIProgressViewsに関するBavariousの質問から

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];

元の画像とプログレスバーの結果

画像変数を進行状況画像からトラック画像に切り替えて、サイズ変更できない画像であるかどうかを確認しました(まったく同じ画像であり、色が異なるため、サイズ変更できないはずです)。これを行った場合を除いて、トラック画像は再び完全にサイズ変更され、進行状況画像は引き伸ばされたものでした。なぜこれが起こっているのか誰かが知っていますか?

4

1 に答える 1

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のUIに配置されたとき、私はこれを取得しました:

プログレスビュー

は、私にはよく見えますよ。

于 2012-05-24T21:42:32.807 に答える