2012-02-24 4 views
8

私は私のUISliderをカスタマイズしてきましたが、私の親指の画像は奇妙に見える、私が意味する、それが中央で揃えられていない位置です:合わせUISliderの親指の画像 - Objective-Cの

enter image description here

しかし、このようにする必要があります:

UIImage *leftTrack = [[UIImage imageNamed:@"blueTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0]; 
UIImage *rightTrack = [[UIImage imageNamed:@"whiteTrack.png"] stretchableImageWithLeftCapWidth:3 topCapHeight:0]; 
[slider setThumbImage:[UIImage imageNamed:@"thumbButton.png"] forState:UIControlStateNormal]; 
[slider setMinimumTrackImage:leftTrack forState:UIControlStateNormal]; 
[slider setMaximumTrackImage:rightTrack forState:UIControlStateNormal]; 

enter image description here

そしてここでは、コードです

どこに問題がありますか?

編集: この問題の解決方法が見つかりました。親指の画像の背景が透明であり、私は親指の画像が中央で揃えていなかった見ていませんでした:

enter image description here

+0

あなたのストレッチ画像が正確にUISliderの内部実装は、それを必要とするほど高くありませんすることが。それほど高くしないでください。 –

+0

あなたはどのように私を見せてくれますか? –

+1

よく使用するGIMP、Photoshop、Paint.net ... :) –

答えて

4

2つの方法があります:1は

- (CGRect)trackRectForBounds:(CGRect)bounds;

を使用することです

ファーズは、

または

- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value;

のの

方法親指をレイアウトするサブクラス化するときに

第二の方法を望む方法であなたのアートワークを調整することです:

enter image description here

関連する問題