별점 슬라이더 만들기
0.5 단위로 슬라이드 되는 별점 슬라이더 만들기!
우선 슬라이드가 되어야 하니까 slider를 올려준다.
별점 이미지를 UIImageView로 5개 만들어주고 stack view로 감싸준다.
(왼: slider, 우: stack view)
별점 stack view에서 slider로 위와 같이 constraint를 잡아준다. (겹치게끔)
이제 slider가 slide 될 때 마다 별점 이미지 뷰의 이미지를 바꿔주면 되는데, 이를 위해
UISlider의 Delegate 함수를 뒤져보자,,!!
보니까 Delegate는 따로 없고…
요런 부분이 있다.
addTarget 함수 써서 value changed event 감지해서 selector 함수 등록해서 쓰라는 얘기인 듯!
@IBOutlet 연결해주고
addTarget 해준다.
이제 slideStarSlider()
함수 내부에서 slide될 때마다 slider의 value값에 따라
이미지 처리 등을 해주면 된다!
slider의 min, max 값 설정 해주고
switch문으로 분기처리 해 줬다.
이제 stack view내 이미지뷰들을 가져와서 이미지만 변경해주면 된다.
UIImageView 배열을 만들어주고
for문을 돌려서 starStackView의 subview들을 append 해준다.
selector 함수 로직은 이렇게!
value가 0.5~1 사이면 한칸이 칠해져야 하므로 … 고게 좀 헷갈렸다.
slider를 stack view보다 위로 올려주고,
alpha값을 0으로 줘서 투명하게 만들면 완성! 되나 했는데
alpha값을 0으로 줘버리면 hidden처리가 되는건지 터치가 안먹는다.
thumb 이미지 투명으로 바꿔주고
alpha는 0.1로, Tint color도 투명하게 바꿔줬다
끝 ~