README.md

May 7, 2026 · View on GitHub

A simple star rating view written in pure swift, lightweight but powerful.

🇨🇳中文介绍

Screenshots

Requirements

  • iOS 12.0+
  • Xcode 15+
  • Swift 5.0+

Swift Package Manager

Recommended: add the package in Xcode: File → Add Package Dependencies… and use:

https://github.com/Jerrrr/SwiftyStarRatingView.git

Use Up to Next Major from 2.0.1 (or pin an exact tag) so updates stay semver-safe.

If you declare dependencies in a Package.swift:

.package(url: "https://github.com/Jerrrr/SwiftyStarRatingView.git", from: "2.0.1")

Then add SwiftyStarRatingView to the appropriate target’s dependencies and import:

import SwiftyStarRatingView

CocoaPods

You can also integrate via CocoaPods (published pod version follows Git tags, e.g. 2.0.1).

Add a pod entry for SwiftyStarRatingView to your Podfile.

	pod 'SwiftyStarRatingView'

Second, install SwiftyStarRatingView into your project:

	pod install

Carthage

Carthage is not actively validated in CI anymore; Swift Package Manager (above) is the recommended integration path. If you still rely on Carthage, you may try:

	github "jerrrr/SwiftyStarRatingView"

Pin a tag in the Cartfile if your workflow requires reproducible builds.

Manually

  1. Download the latest code version .
  2. Open your project in Xcode,drag the SwiftyStarRatingView folder into your project. Make sure to select Copy items when asked if you extracted the code archive outside of your project.

Usage

Create a simple rating view:

	let starRatingView = SwiftyStarRatingView()
	
	starRatingView.frame = CGRect(x: x, y: y, width: width, height: height)
	
	starRatingView.maximumValue = 5 		//default is 5
	starRatingView.minimumValue = 0 		//default is 0
	starRatingView.value = 3        		//default is 0
	
	starRatingView.tintColor = UIColor.yellow
	
	starRatingView.addTarget(self, action: #selector(function), for: .valueChanged)
	
	self.view.addSubview(starRatingView)

Setting this property to control whether to display a half stars:

	starRatingView.allowsHalfStars = true 	//default is true
    	starRatingView.value = 3.5		//default is 0

Whether accurate display:

	starRatingView.accurateHalfStars = true //default is true

Always callback or just stop touch:

	starRatingView.continuous = true        //default is true

Use custom image:

	starRatingView.halfStarImage = UIImage(named: "half.png")
	starRatingView.emptyStarImage = UIImage(named: "empty.png")
    	starRatingView.filledStarImage = UIImage(named: "filled.png")

StoryBoard or XIB:

SwiftyStarRatingView also works great with Auto Layout, you can use it in StoryBoard or XIB.

Contacts

If you wish to contact me, email at: hello@jerrrr.com

Sina : @后知后觉乀

License

SwiftyStarRatingView is released under the GNU GENERAL PUBLIC LICENSE. See LICENSE for details.