아주 잘 작동하지 :사용자 정의 UISlider 이미지는이 코드
UISlider *slider = [[UISlider alloc]initWithFrame:sliderFrame];
[slider setThumbImage:[UIImage imageNamed:@"sliderThumb"] forState:UIControlStateNormal];
UIImage *sliderLeftTrackImage = [[UIImage imageNamed: @"sliderMin"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0];
UIImage *sliderRightTrackImage = [[UIImage imageNamed: @"sliderMax"] stretchableImageWithLeftCapWidth: 9 topCapHeight: 0];
[slider setMinimumTrackImage: sliderLeftTrackImage forState: UIControlStateNormal];
[slider setMaximumTrackImage: sliderRightTrackImage forState: UIControlStateNormal];
sliderMin 및 sliderMax 이미지가 모두 210x34 (슬라이더 프레임과 동일한 크기)입니다. sliderMin은 파란색이고 sliderMax는 빨간색입니다. 슬라이더가 왼쪽으로 끝나면 빨간 막대가 올바르게 보입니다. 그러나 엄지 손가락을 오른쪽으로 몇 픽셀 이동 한 후에는 전체 막대가 파란색으로 바뀝니다 (sliderMin 이미지). 분명히 슬라이더의 왼쪽에 파란색 막대 만보아야합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
사실 내 경우에 이렇게하면 이미지 크기를 사용할 수 있습니다 : resizableImageWithCapInsets : UIEdgeInsetsZero. – soleil
그러면 크기를 조정할 수있는 이미지가 없습니다. 크기를 조정할 수있는 이미지의 전체적인 점은 중간에 끝과 아주 작은 부분 만 제공한다는 것입니다. 인세 트없이 전체 크기의 이미지를 만들면 무의미 해집니다. 그런 다음 슬라이더가 트랙 이미지의 크기를 조절합니다. 이것은 바람직하지 않은 결과를 초래할 수 있습니다. – rmaddy
우수 답변! –