슬라이더는 보통 사용자가 설정값을 선택하거나 조절하는데 사용한다.
나는 이 슬라이더를 할 일의 진행율을 나타내는 컴포넌트로 사용하려고 한다.
속성 및 기능
슬라이더를 스토리보드에 넣고 선택하면 우측 Inspector에서 값과 스타일 등을 지정해줄 수 있다.
최소값은 0, 최대값은 100으로 지정하고 초기값은 0으로 설정해주면, 처음 화면에 슬라이더가 뜰 때 최소값 위치에 있는 것을 볼 수 있다.
최소값/최대값 이미지도 지정할 수 있는데, 나는 슬라이더 크기가 작아 굳이 넣진 않았다.
스토리보드에서는 간단하게 위치 조정과 값을 지정했고, 코드로는 아래와 같이 넣을 수 있다.
override func viewDidLoad() {
super.viewDidLoad()
slider.value = 0
slider.minimumValue = 0
slider.maximumValue = 100
}
해당 슬라이더의 Thumb이 위치하는 값을 화면에 표시해주기 위해서는 다양한 방법들이 있는데 그 중 간단한 방법인 라벨을 추가하고 그 라벨에 표현하려고 한다.
슬라이더의 IBAction을 연결하고 슬라이더를 움직일 때마다 값을 읽어오는 코드를 작성해준다.
@IBAction func progressSlider(_ sender: UISlider) {
sender.value = roundf(sender.value)
let progressValue = sender.value
prepareMemo?.progress = Int(progressValue)
progressValueLabel.text = String(Int(progressValue))
}
🤳🏻 적용 화면
Thumb 사이즈나 이미지를 커스텀할 수 있는데, 나는 내가 그린 아이콘으로 바꾸려고 한다.
일단 바꿀 이미지를 Assets에 넣고 thumbImage1이라고 이름을 변경한다. 그러고 난 후 thumb의 이미지를 바꾸는 코드를 추가한다.
func setProgressSlider() {
progressSlider.setThumbImage(UIImage(named: "sliderThumb1"), for: .normal)
}
🤳🏻 적용 화면