UISlider 슬라이더 크기 및 높이 사용자 정의
요구 사항:
UISlider의 높이와 슬라이더 크기를 사용자 정의해야 합니다. (UISlider 슬라이더의 높이와 슬라이더 크기 시스템은 기본적으로 설정되어 있어 변경할 방법이 없습니다.)
방법:
슬라이더 크기는 슬라이더 그림을 설정할 수 있으며 그림 크기가 슬라이더로 크기가 필요합니다.슬라이더 높이에는 UISlider의 하위 클래스를 쓰고 시스템을 다시 쓰는 방법이 필요합니다.
코드:
다음 코드는 사용자 정의 슬라이더에서 고도를 고정합니다. 다시 사용하려면 고도 속성을 추가하여 완성합니다
OC 버전:
// MXSlider.h
#import
@interface MXSlider : UISlider
@end
// MXSlider.m
#import "MXSlider.h"
@implementation MXSlider
// slider , slider
- (CGRect)trackRectForBounds:(CGRect)bounds
{
bounds.size.height=6;
self.layer.cornerRadius = 2.5;
return bounds;
}
//
- (CGRect)thumbRectForBounds:(CGRect)bounds trackRect:(CGRect)rect value:(float)value
{
rect.origin.x = rect.origin.x - 5 ;
rect.size.width = rect.size.width +10;
return CGRectInset ([super thumbRectForBounds:bounds trackRect:rect value:value], 5 , 5);
}
@end
swift 버전:
import UIKit
class CustomSlider: UISlider {
var sliderHeight: CGFloat = 4.0
override func minimumValueImageRect(forBounds bounds: CGRect) -> CGRect {
return self.bounds
}
override func maximumValueImageRect(forBounds bounds: CGRect) -> CGRect {
return self.bounds
}
// slider , slider
override func trackRect(forBounds bounds: CGRect) -> CGRect {
let rect = super.trackRect(forBounds: bounds)
layer.cornerRadius = sliderHeight/2
return CGRect.init(x: rect.origin.x, y: (bounds.size.height-sliderHeight)/2, width: bounds.size.width, height: sliderHeight)
}
//
override func thumbRect(forBounds bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect {
return super.thumbRect(forBounds: bounds, trackRect: rect, value: value)
}
}
호출:
// slider
self.playSlider = [[MXSlider alloc] initWithFrame:CGRectMake(84, ScreenHeight-SafeBottom-37-5, ScreenWidth-84-55, 5)];
self.playSlider.value = 0;
self.playSlider.thumbTintColor = [UIColor whiteColor];
//
self.playSlider.minimumTrackTintColor = [UIColor whiteColor];
self.playSlider.maximumTrackTintColor = rgba(0, 0, 0, 0.3);
//
[self.playSlider setThumbImage:[UIImage imageNamed:@"music_btn_dot"] forState:UIControlStateNormal];
[self.playSlider setThumbImage:[UIImage imageNamed:@"music_btn_dot"] forState:UIControlStateHighlighted];
[self.playSlider addTarget:self action:@selector(sliderValueChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_playSlider];
참고 자료:
시스템의 UISlider 높이 수정
iOS 컨트롤 - UISlider 슬라이딩 단위 정확도와 UISlider 고도 연구
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.