2017-04-20 3 views
0

최소 및 최대 트랙에 대해 서로 다른 사용자 정의 이미지가있는 UISlider을 생성했습니다.UISlider 사용자 정의 트랙 이미지가 올바르게 설정되지 않았습니다.

UISlider

대한 정상 상태하지만 I 슬라이드 때 UISlider초 화상 고장. 제대로 설정되지 않았습니다.

는 사람이 무슨 잘못 그것으로 말해 줄래?

Heres는 내 코드 : 어떤 도움이 많이 주시면 감사하겠습니다

slider = [[UISlider alloc] initWithFrame:CGRectMake(24, 24, [VTUIKit screenWidth] - 48, 10)]; 
    slider.tintColor = kVTColorTurquoise500; 
    [slider setBackgroundColor:[UIColor clearColor]]; 
    numbers = @[@(0.5), @(1), @(2.5), @(5), @(10), @(25), @(50), @(100), @(200), @(500), @(999)]; 
    NSInteger numberOfSteps = ((float)[numbers count] - 1); 

    slider.maximumValue = numberOfSteps; 
    slider.minimumValue = 0; 
    slider.continuous = YES; 

    UIImage *stetchLeftTrack = [[UIImage imageNamed:@"Map-Range-Active"] 
           stretchableImageWithLeftCapWidth:5 topCapHeight:0.0]; 
    UIImage *stetchRightTrack = [[UIImage imageNamed:@"Map-Range"] 
           stretchableImageWithLeftCapWidth:5 topCapHeight:0.0]; 
    [slider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal]; 
    [slider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal]; 

    [slider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged]; 
    [self.bottomContainerView addSubview:slider]; 

. 미리 감사드립니다.

+0

저에게 도움을 줄 수있는 사람이 있습니까? –

답변

0

Ok 많은 시도와 오류가 있었고 많은 대답을 참고하면서 대답했습니다.

UIImage * stetchLeftTrack = [[UIImage imageNamed:@"leftImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 
UIImage * stetchRightTrack = [[UIImage imageNamed:@"rightImage"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 

을 따르 그러나 여기 캐치는 이미지를 모두 슬라이더로 같은 크기 (폭) 정확한해야한다는, 그대로 내 같은 유사한 UISlider을 위해, 나는 최소 및 최대 트랙 이미지를 설정했다.

그래서, 내가 어떻게 내 문제를 제거했는지.

관련 문제