The reusable UI component implemented as an UITableViewCell which includes a FUIRatingControl to allow user select a rating.

This form cell uses FUIRatingControlContentView as its content view. FUIRatingControlContentView includes a FUITextKitView for hosting the keyName property, a FUIRatingControl for the rating control, and another FUITextKitView for subtitle.

When the text in subtitle is not nil, the title will not be displayed.

Control Styles

The available style for the FUIRatingControl can be set by developer to editable, editableDisabled, standard, or accented.


control.style = .editable
control.ratingBounds = 0...5
control.rating = 3
control.onImage = UIImage(named: "filledStar").withRenderingMode(.alwaysTemplate)
control.onImage = UIImage(named: "openStar").withRenderingMode(.alwaysTemplate)
control.setTintColor(.orange, for: 0..<1)
control.setTintColor(.red, for: 1..<5)
control.setTintColor(.purple, for: 5..<6)



fdlFUIRatingControlFormCell {}

Supported TEXT class paths:

fdlFUIRatingControlFormCell_title {}

Supported TEXT properties:

font-color: Color;
font-style: UIFontTextStyle;

Supported FUIRatingControl class path:


Supported RatingControl properties:

on-color { -standard | -accented | -editable-disabled | -editable-disabled }: Color;
off-color { -standard | -accented | -editable-disabled | -editable-disabled }: Color;
on-image { -standard | -editable }: Image;
off-image { -standard | -editable }: Image;
  • The key name of the property.

    If subtitle is nil, the key name will be displayed at the leading side of the table view cell while the ratingControl will be displayed at the trailing side of the cell on the same line.



    public var keyName: String? { get set }
  • The subtitle of the property.

    The default text of the subtitle is nil.

    • If the text is not nil, the key name will not be displayed. Instead, the rating control will be displayed on the top center of the cell while the subtitle will be displayed at the bottom center of the cell.
    • If the text is an empty string, both the key name and the subtitle will not be displayed. Only the rating control will be displayed at the center of the cell.



    public var subtitle: FUIText { get }
  • The FUIRatingControlView representing the value view.



    public var ratingControl: FUIRatingControl { get }
  • Indicates if the value of the cell could be changed or not.

    The default is true. However, the value cannot be changed if the style property of the ratingControl is not .editable, even this isEditable is true.



    public var isEditable: Bool { get set }
  • The value of the property.

    This is the rating value for FUIRatingControlFormCell.



    public var value: Int { get set }
  • Implementation of change handler.

    This is invoked on changes to the value property.



    public var onChangeHandler: ((Int) -> Void)? { get set }