SCControlCell

@interface SCControlCell : SCCustomCell {
  BOOL _boundValueLoaded;
  UIColor *_initialControlColor;
  CGFloat maxTextLabelWidth;
  CGFloat controlIndentation;
  CGFloat controlMargin;
  BOOL showClearButtonInInputAccessoryView;
}

This class functions as a base class for all cells that require user controls to be present inside their content view.

Configuration

  • The control associated with the cell. Assiging a control automatically configures it and adds it to the cell’s contentView. *

    • - note: The type of the control has been choosen to be of type UIView instead of UIControl because not all user controls decend from UIControl (e.g. UITextView).

    Declaration

    Objective-C

    @property (nonatomic, strong) UIView *control;
  • The value of contained in the cell’s control.

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSObject *controlValue;
  • The maximum width of the cell’s textLabel. Default: 200.

    Declaration

    Objective-C

    @property (nonatomic) CGFloat maxTextLabelWidth;
  • The indentation of the control from the cell’s left border. Default: 120.

    This indentation keeps the control at a specific distance from the cell’s border unless the textLabel’s text exceeds this distance, in which case the control is moved accordingly to the right.

    Declaration

    Objective-C

    @property (nonatomic) CGFloat controlIndentation;
  • The margin between the control and the cell’s textLabel. Default: 10.

    Declaration

    Objective-C

    @property (nonatomic) CGFloat controlMargin;
  • Clears the control associated with the cell.

    Declaration

    Objective-C

    - (void)clearControl;

Internal Methods (should only be used by the framework or when subclassing)

  • Returns TRUE if the cell’s control has been created in Interface Builder.

    Declaration

    Objective-C

    @property (nonatomic, readonly) BOOL controlCreatedInIB;
  • Undocumented

    Declaration

    Objective-C

    @property (nonatomic, readonly) UILabel *ibControlLabel
  • Method should be overridden by subclasses to return the expected class of the cell’s control. Defailt: returns [UIView class]

    Declaration

    Objective-C

    - (Class)expectedControlClass;
  • Method should be overridden by subclasses to configure the cell’s control.

    Declaration

    Objective-C

    - (void)configureControl;
  • Method should be overridden by subclasses to load the cell’s bound value into its control.

    Declaration

    Objective-C

    - (void)loadBoundValueIntoControl;