Skip to content

magi82/MGStarRatingView

Repository files navigation

MGStarRatingView

Swift Platform Version Carthage compatible CI Status License

MGStarRatingView is a view for rating.
Simple and easy to implement. ☀️

It supports programmatically and xib.
No image is required. Just choose color.

Sample

Usage (Programmatically)

  • Creating and Implementing a View
let starView = StarRatingView()
let attribute = StarRatingAttribute(type: .rate,
      point: 30,
      spacing: 10,
      emptyColor: .red,
      fillColor: .blue,
      emptyImage: nil,
      fillImage: nil)
starView.configure(attribute, current: 0, max: 5)
starView.delegate = self
self.view.addSubview(starView)
  • Delegate implementation
func StarRatingValueChanged(view: StarRatingView, value: CGFloat) {
  // use value
}

Usage (xib)

First, add UIView.
Register Custom Class as StarRatingView and register Module as MGStarRatingView.

Please be careful.
If you type the spelling of Type String wrongly, it will be applied as the default type.
The default type is rate.

API Reference

// A delegate for receiving values.
public weak var delegate: StarRatingDelegate?

// A type that represents a value.
// There are three kinds. (rate, half, fill)
public var type: StarRatingType

// The current value.
public var current: CGFloat

// The maximum number of stars.
public var max: Int

// The spacing between stars.
public var spacing: CGFloat

// The size of the star.
// The horizontal and vertical sizes are the same.
public var point: CGFloat

// The color value of the empty star.
public var emptyColor: UIColor

// The color value of the full star.
public var fillColor: UIColor

// The image object of the empty star.
var emptyImage: UIImage?

// The image object of the full star.
var fillImage: UIImage?

Aid

Requirements

  • Swift 4.0+
  • iOS 8.0+

Installation

pod 'MGStarRatingView', '~> 1.0.0'
github "magi82/MGStarRatingView" ~> 1.0.0

Author

magi82, bkhwang82@gmail.com

License

MGStarRatingView is available under the MIT license. See the LICENSE file for more info.