1

私はカスタム UISlider を持っていますが、iOS 6 では setMinimumTrackImage に問題があり、iOS 5 および 4 で発生したように、クリッピングではなくサイズ変更されます。

画像を作成するときに追加して画像を伸縮可能にしようとしstretchableImageWithLeftCapWidth: 20 topCapHeight: 0];ましたが、結果はさらに悪くなり、親指ボタンが LeftCapWidth サイズに達すると、画像が MinimumTrackImage から MaximumTrackImage に
切り替わります。私が見つけた解決策は、MinimumTrackImage に透明な png を使用し、実際の MinimumTrackImage を bgcolor として使用することです。

他の誰かがこの問題に遭遇したかどうか、そして彼がそれを解決する適切な方法を持っているかどうかを知りたい. 前もって感謝します。

コード:

maxImage=[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:maxImageName ofType:@"png"]];
minImage=[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:minImageName ofType:@"png"]];

[_scaleSlider setMinimumTrackImage:minImage forState:UIControlStateNormal];
[_scaleSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal];

スライダーのスクリーンショット

4

1 に答える 1

1

resizableImageWithCapInsets:<#(UIEdgeInsets)#> 代わりに 使用 stretchableImageWithLeftCapWidth:<#(NSInteger)#> topCapHeight:<#(NSInteger)#>
すると問題が解決します

于 2013-03-07T08:02:21.927 に答える