[Swift/ライブラリ]スモッグ
Cosmosは簡単に採点できるSwift Open Source Libraryです.https://github.com/evgenyneu/Cosmos
Cosmosライブラリを使用せずに直接採点ビューを実装する場合は、UI StackViewに5つのUI Buttonを追加してButton操作を実現する必要があります.ボタンがクリックされると、tagを使用して各ボタンの画像を制御します.
数行で実現できるのがコスモスライブラリです.
インストール
Cosmosライブラリを使用せずに直接採点ビューを実装する場合は、UI StackViewに5つのUI Buttonを追加してButton操作を実現する必要があります.ボタンがクリックされると、tagを使用して各ボタンの画像を制御します.

数行で実現できるのがコスモスライブラリです.
インストール
Carthage、CocoaPods、Swift Package Managerでインストールできます.
Carthage
github "evgenyneu/Cosmos" ~> 23.0
CocoaPods
use_frameworks!
target 'Your target name'
pod 'Cosmos', '~> 23.0'
Swift Package Manager
https://github.com/evgenyneu/Cosmos
UptoNext Major Versionのバージョンを変更しないと、直接インストールでエラーが発生する可能性があります.起動バージョンを最新バージョンに変更すると、正しくインストールされます.
使用
Comosを使うにはUIViewが必要です.UIViewを追加し、クラスをComosViewに設定します.
シーケンスイメージボードのプロパティspecterで値を設定できますが、シーケンスイメージボードにComosViewが表示されない場合があります.公式文書ではRefresh All Viewsが見られると言っていますが、ここではコードを使って処理します.
ライブラリが追加され、CosViewの値を設定するIBoutlet変数が作成されました.import Cosmos // 라이브러리 추가
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var cosmosView: CosmosView! // cosmosView 연결
override func viewDidLoad() {
super.viewDidLoad()
}
}
デフォルト設定は次のとおりです.// 평점
cosmosView.rating = 4
// 같이 보여줄 텍스트
cosmosView.text = "(123)"
// 터치 후 손가락을 떼면 호출 (데이터베이스나 서버에 평점 저장 시 유용)
cosmosView.didFinishTouchingCosmos = { rating in }
// 터치하면 호출 (터치하여 평점 변경 시 유용)
cosmosView.didTouchCosmos = { rating in }
カスタマイズも可能です.// 터치 시 평점 변경 불가 (평점 입력 없이 별만 표시할 경우 사용)
cosmosView.settings.updateOnTouch = false
// 별 채우기 모드
// full(완전히), half(반 씩), precise(클릭한 곳까지; 소수점 둘 째 자리까지 컨트롤)
cosmosView.settings.fillMode = .precise
// 별 크기
cosmosView.settings.starSize = 30
// 별 간격
cosmosView.settings.starMargin = 5
// 채워졌을 때 색상
cosmosView.settings.filledColor = UIColor.orange
// 비었을 때 선 색상
cosmosView.settings.emptyBorderColor = UIColor.orange
// 채워졌을 때 선 색상
cosmosView.settings.filledBorderColor = UIColor.orange
星のイメージを変えることができます.// 채워졌을 때 이미지
cosmosView.settings.filledImage = UIImage(systemName: "heart.fill")
// 비었을 때 이미지
cosmosView.settings.emptyImage = UIImage(systemName: "heart")
画像自体を変更するため、カラー設定(filledColor、emptyBorderColor、filledBorderColor)は適用されません.ピンクのHeartに変えたいなら、いっそピンクの画像を入れましょう.
他の採点ビューライブラリを検索している場合は、次のリンクに移動します.
https://github.com/vsouza/awesome-ios#rating-stars
リファレンス
https://github.com/evgenyneu/Cosmos
Reference
この問題について([Swift/ライブラリ]スモッグ), 我々は、より多くの情報をここで見つけました
https://velog.io/@minji0801/iOSLibrary-Cosmos
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
github "evgenyneu/Cosmos" ~> 23.0
use_frameworks!
target 'Your target name'
pod 'Cosmos', '~> 23.0'
Comosを使うにはUIViewが必要です.UIViewを追加し、クラスをComosViewに設定します.


シーケンスイメージボードのプロパティspecterで値を設定できますが、シーケンスイメージボードにComosViewが表示されない場合があります.公式文書ではRefresh All Viewsが見られると言っていますが、ここではコードを使って処理します.

ライブラリが追加され、CosViewの値を設定するIBoutlet変数が作成されました.
import Cosmos // 라이브러리 추가
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var cosmosView: CosmosView! // cosmosView 연결
override func viewDidLoad() {
super.viewDidLoad()
}
}
デフォルト設定は次のとおりです.// 평점
cosmosView.rating = 4
// 같이 보여줄 텍스트
cosmosView.text = "(123)"
// 터치 후 손가락을 떼면 호출 (데이터베이스나 서버에 평점 저장 시 유용)
cosmosView.didFinishTouchingCosmos = { rating in }
// 터치하면 호출 (터치하여 평점 변경 시 유용)
cosmosView.didTouchCosmos = { rating in }

カスタマイズも可能です.
// 터치 시 평점 변경 불가 (평점 입력 없이 별만 표시할 경우 사용)
cosmosView.settings.updateOnTouch = false
// 별 채우기 모드
// full(완전히), half(반 씩), precise(클릭한 곳까지; 소수점 둘 째 자리까지 컨트롤)
cosmosView.settings.fillMode = .precise
// 별 크기
cosmosView.settings.starSize = 30
// 별 간격
cosmosView.settings.starMargin = 5
// 채워졌을 때 색상
cosmosView.settings.filledColor = UIColor.orange
// 비었을 때 선 색상
cosmosView.settings.emptyBorderColor = UIColor.orange
// 채워졌을 때 선 색상
cosmosView.settings.filledBorderColor = UIColor.orange

星のイメージを変えることができます.
// 채워졌을 때 이미지
cosmosView.settings.filledImage = UIImage(systemName: "heart.fill")
// 비었을 때 이미지
cosmosView.settings.emptyImage = UIImage(systemName: "heart")

画像自体を変更するため、カラー設定(filledColor、emptyBorderColor、filledBorderColor)は適用されません.ピンクのHeartに変えたいなら、いっそピンクの画像を入れましょう.


他の採点ビューライブラリを検索している場合は、次のリンクに移動します.
https://github.com/vsouza/awesome-ios#rating-stars
リファレンス
https://github.com/evgenyneu/Cosmos
Reference
この問題について([Swift/ライブラリ]スモッグ), 我々は、より多くの情報をここで見つけました https://velog.io/@minji0801/iOSLibrary-Cosmosテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol