사용자 정의 UISlider보기를 작성 중이거나 시도하고 있는데, 여전히 수평이지만 크기가 훨씬 큽니다. 나는 두 가지 문제가있다.UISlider 맞춤 이미지 및 엄지 손가락 높이?
1 이것은 이미지를 슬라이더에 가져 오기 위해 사용하는 코드입니다.
UIImage *minImage = [UIImage imageNamed:@"sliderMin.png"];
UIImage *maxImage = [UIImage imageNamed:@"sliderMax.png"];
UIImage *thumbImage = [UIImage imageNamed:@"sliderThumb.png"];
minImage = [minImage stretchableImageWithLeftCapWidth:33.0 topCapHeight:0.0];
maxImage = [maxImage stretchableImageWithLeftCapWidth:33.0 topCapHeight:0.0];
// thumbImage = [minImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];
[_contrastSlider setMinimumTrackImage:minImage forState:UIControlStateNormal];
[_contrastSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal];
[_contrastSlider setThumbImage:thumbImage forState:UIControlStateNormal];
minImage = nil;
maxImage = nil;
thumbImage = nil;
[_contrastSlider setMinimumValue:0.0];
[_contrastSlider setMaximumValue:100.00];
[_contrastSlider setValue:25.0];
나는 최소, 최대, 최대 3 개의 이미지를 가지고 있습니다. 이것들은 이미지이며 장치에서 보이는 모습이며 올바르지 않습니다.
아직 이미지를 게시 할 수 없으므로 여기에 구성 요소를 보여주는 link to MYSlider.jpeg
이 있습니다.
슬라이더는 엄지 오른쪽에 크림색이어야하며 분홍색이 왼쪽에 있어야합니다. 그러나 이것은 일어나지 않습니다.
그건 문제 1입니다. 문제 2는 엄지 크기가 너무 작습니다. 나는 이것을 사용하고있다 : UISlider Height Hack 엄지의 높이를 높이려고하지만, 슬프게도 키가 크지는 않다. 그래서 넓이가 아닌 넓이를 넓히고 내 핑크색 이미지가 왜 무시당하는 지 궁금해합니다.
도움 주셔서 감사합니다.
-(BOOL) beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event {
CGRect bounds = self.bounds;
float thumbPercent = (self.value - self.minimumValue)/(self.maximumValue - self.minimumValue);
float thumbPos = THUMB_SIZE + (thumbPercent * (bounds.size.width - (2 * THUMB_SIZE)));
CGPoint touchPoint = [touch locationInView:self];
return (touchPoint.x >= (thumbPos - EFFECTIVE_THUMB_SIZE) && touchPoint.x <= (thumbPos + EFFECTIVE_THUMB_SIZE));
}
-(BOOL) pointInside:(CGPoint)point withEvent:(UIEvent*)event {
CGRect bounds = self.bounds;
bounds = CGRectInset(bounds, -10, -8);
return CGRectContainsPoint(bounds, point);
가} 감사 : 도움이된다면
, 여기 내 UISlider 서브 클래스하는 .m이다.
이미지 링크가 깨졌습니다. – Asahi