Cosmos
- 후기 등을 쓸 때 Slide 해서 별점 설정하는 기능 구현을 위해 사용한다.
Cocoa Pod Install
pod 'Cosmos', '~> 23.0'
Xcode Example
import Cosmos
cosmosView.rating = 5.0
cosmosView.text = ""
cosmosView.settings.starSize = 65
cosmosView.didTouchCosmos = didTouchCosmos
updateRating(requiredRating: 1)
func updateRating(_ requiredRating: Double?) {
var newRatingValue : Double = 0.0
if let nonEmptyRequiredRating = requiredRating {
newRatingValue = nonEmptyRequiredRating
}
cosmosView.rating = newRatingValue
}
func didTouchCosmos(_ rating: Double) {
updateRating(rating)
}
Values
- rating : 별점 값
- text : 별점 옆에 나타날 글씨
- settings.starSize : 별 크기
- settings.disablePanGestures : Pan 제스쳐를 무시할지 여부 (특히 presentationStyle 이 pageSheet 인 경우 제스쳐가 무시 당하는 것을 막아주는데에 유용하게 쓰인다.)
- settings.emptyBorderColor : 선택되지 않은 쪽에 있는 별의 경계선 색
- settings.emptyBorderWidth : 선택되지 않은 쪽에 있는 별의 경계선 두께
- settings.emptyColor : 선택되지 않은 쪽에 있는 별의 색
- settings.emptyImage : 선택되지 않은 쪽에 있는 별 이미지 변경
- settings.fillMode : 별점이 정수가 아닌 경우 별이 채워지는 형태 (.full / .half / .precise)
- settings.filledBorderColor : 선택된 쪽에 있는 별의 경계선 색
- settings.filledBorderWidth : 선택된 쪽에 있는 별의 경계선 두께
- settings.filledColor : 선택된 쪽에 있는 별의 색
- settings.filledImage : 선택된 쪽에 있는 별 이미지 변경
- settings.minTouchRating : 선택될 수 있는 최소 별 개수
- settings.passTouchesToSuperview : Superview 로 터치가 이동하는 것을 허용할지 여부 (Table View 사용할 때 유용하게 쓰인다.)
- settings.starMargin : 별들 사이의 거리
- settings.starPoints : 기본적으로 제공되는 별은 [CGPoint] 값을 이용했는데, 이 별의 모양을 바꾸기 위해 [CGPoint] 변경
- settings.textColor : 별점 옆에 표시되는 글씨의 색
- settings.textFont : 별점 옆에 표시되는 글씨의 형태 (UIFont)
- settings.textMargin : 별점과 글씨 사이의 거리 (Double)
- settings.totalStars : 화면에 나타날 수 있는 별의 최대 개수 (Int)
- settings.updateOnTouch : Cosmos View 를 터치했을 때 별점이 갱신될지 여부 (Bool / false 로 설정했을 때는 rating 만 보여주고 input control 처럼 실행되지는 않는다.)