2012-02-24 6 views
8

나는 정의했습니다 내 UISlider하지만 내 엄지 손가락 이미지가 보이는 이상한, 나는 그것이 위치를 중앙으로 정렬 아니에요 의미 :정렬 UISlider 엄지 이미지 - 목표 - 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

잘 김프, 포토샵, Paint.net ... :) –

답변

4

두 가지 방법이 있습니다 :

전나무 하나를 사용하는 것입니다

- (CGRect)trackRectForBounds:(CGRect)bounds;

또는

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

의 6,

방법은 엄지 손가락을

두 번째 방법은 아트 워크를 조정하는 것입니다 당신이

을 원하는대로 배치 할 서브 클래스 때

enter image description here