FUIRatingControlFormCell

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.

Example

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)

Theming

nuiClass:

fdlFUIRatingControlFormCell {}

Supported TEXT class paths:

fdlFUIRatingControlFormCell_title {}

Supported TEXT properties:

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

Supported FUIRatingControl class path:

fdlFUIRatingControlFormCell_ratingControl

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.

    Declaration

    Swift

    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.

    Declaration

    Swift

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

    Declaration

    Swift

    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.

    Declaration

    Swift

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

    This is the rating value for FUIRatingControlFormCell.

    Declaration

    Swift

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

    This is invoked on changes to the value property.

    Declaration

    Swift

    public var onChangeHandler: ((Int) -> Void)? { get set }
  • Truncates the text of the key label if appropriate.

    This property indicates if the key label text should be truncated or not when the width of the cell cannot hold the key name label and the ratings in the same line.

    The default is true. It means the key name will be truncated in the end and the lable and the rating will be in a single horizontal line. Otherwise, the rating will be pushed to the line below the label.

    Note that this property is ignored for device accessibility size larger than xxx large. In that case, the rating stars will always be in a separate line than the key label.

    Declaration

    Swift

    public var truncatesKeyLabel: Bool { get set }
  • Undocumented

    Declaration

    Swift

    override public var keyCommands: [UIKeyCommand]? { get }