0

次のように最小画像と最大画像を設定して UISlider を使用しています。

UIImage *stetchLeftTrack = [[UIImage imageNamed:@"Left.png"] stretchableImageWithLeftCapWidth:14.0 topCapHeight:0.0];
[self._timeSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];

UIImage *stetchRightTrack = [[UIImage imageNamed:@"Right.png"] stretchableImageWithLeftCapWidth:14.0 topCapHeight:0.0];
[self._timeSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];

最小画像を使用した最大画像

スライダー ボタンが最大値の約 60% を超えるまで、すべてが期待どおりに機能します。スクリーンショットでわかるように、最小スライダー画像と最大スライダー画像の両方が最小画像 (Left.png) に設定されています。

助けてください よろしくお願いします!!!!

4

2 に答える 2

1

実際、問題の根本は別のものだと思います。そのため、あなたの解決策はうまくいきました。

私は同じ問題を抱えていました.トラック画像のドキュメントをもう一度読んだとき、伸縮可能な画像は中央(伸縮可能な)部分が1ピクセル幅(網膜では2ピクセル)でなければならないことに気付きました. 私のトラック画像は、スライダーの幅全体、左右のキャップが 20 ピクセル、中央部分が 230 ピクセルのように定義されていました...

追跡可能な画像を 41 ピクセル (左部分 20 ピクセル、伸縮可能な中央部分 1 ピクセル、右部分 20 ピクセル) に変更し、キャップ インセットを に設定するとUIEdgeInsetsMake(0, 20, 0, 20)、すべて正常に機能しました。

于 2013-12-13T09:24:31.683 に答える
0

これは少し奇妙ですが、ついに私はそれを理解しました..

私の Left.png のサイズは 20x6 (緑) で、Right.png のサイズは 84x8 (白) でした

Right.png のサイズを 20x8 に変更すると、問題が解決しました

于 2013-10-24T06:47:16.683 に答える