2010-03-06 3 views
5

UISlider에 맞춤 트랙 이미지를 사용하려고하지만 슬라이더의 한쪽 끝에서 다른 끝까지의 비대칭 이미지입니다.확대되지 않는 UISlider 트랙 이미지

leftCapWidth 등으로 이미지를 설정하려고했지만 최대 스트레치를 취한 다음 슬라이더를 통해 한 픽셀 만 펼치기 시작합니다.

슬라이더를 움직일 때 전혀 변하지 않는 이미지를 원합니다.

이 모든 것이 가능합니까?

+2

함께 IBOutlet으로 UIslider을하기 위해선, UIslider 사용자 정의의 배경을 만들기 위해 이것을 사용할 수 있습니다 슬라이더 뒤의보기. 그런 다음 슬라이더의 트랙 이미지를 비워 둡니다. 이상한 것은 아니지만 :( – Fogmeister

+0

해결 방법을 얻었습니까? [maxImage resizableImageWithCapInsets : UIEdgeInsetsZero resizingMode : UIImageResizingModeTile] '을 사용해 보았지만 트랙 이미지 아래에 엄지 손가락이있는 것처럼 보였습니다. 약 2px 슬라이더의 양쪽 끝의 빈 공간 – sooper

+0

지금 내가 이것을하고 있었다면 나는 내 자신의 커스텀 컨트롤로서 처음부터 그것을 할 것이다. 아마도 PaintCode를 사용하여 그릴 수있을 것이다. – Fogmeister

답변

4

당신은 내가있는 UIImageView를 생성하고 그에 추가하여 일시적으로 지금은 문제를 해결하기 위해 관리했습니다

[yourslider setThumbImage:[UIImage imageNamed:@"icon0.png"] forState:UIControlStateNormal]; 



yourslider.minimumValue=1; 
yourslider.maximumValue=10; 

UIImage *sliderLeftTrackImage = [[UIImage imageNamed: @"yellow_bg.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0]; 
UIImage *sliderRightTrackImage = [[UIImage imageNamed: @"yellow_bg.png"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0]; 

[yourslider setMinimumTrackImage: sliderLeftTrackImage forState: UIControlStateNormal]; 
[yourslider setMaximumTrackImage: sliderRightTrackImage forState: UIControlStateNormal];