Skip to content
Objective-C CoffeeScript Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A UIControl subclass that behaves similarly as the App Store rating control.

Written by David Linsin, January 2011.


You find all the sources include two sample images under DLStarRating. Add the source folder to your project and use the DLStarRatingControl in Interface Builder to setup a default 5 star rating control.

If you'd like to instantiate it yourself with a custom number of stars use:

// setup a control with 3 stars at a size of 320x230
DLStarRatingControl *ratingControl = [[DLStarRatingControl alloc] initWithFrame:CGRectMake(0, 0, 320, 230) andStars:3];

You can set a default value by setting ratingControl.rating=2 and hook up a DLStarRatingDelegate to get notified when the user has changed the rating.

To customize the stars, simply replace star.png/star@2x.png and star_highlighted.png/star_highlighted@2x.png under images.

DLStarView.h lets you customize the area below the stars, detecting touches. Simply change the value of kEdgeInsetBottom to increase the area or make it smaller, in case you have other user interface components below. The default is 20px, which allows to select/deselect the stars, while still being able to see them above your finger.

DLStarRating should work with iOS 3.0+, but it has not been tested yet.


You can open the DLStarRating demo project in XCode and run it on your iPhone as well as in the Simulator. There's a DLStarRatingControl hooked up in DLStarRatingDemo.xib, as well as in DLStarRatingDemoViewController. It also shows how to set a rating value and use DLStarRatingDelegate.

Issues and Feature Requests

Please report issues via GitHub's issue tracker.


DLStarRating is licensed under the Eclipse Public License.

Something went wrong with that request. Please try again.