Cell Actions

CellActionViews

One of the properties passed in cell configuration is "actionConfiguration". This property defines the ActionView which should be visible on the right side of the cell. Thank's to that user can inject a special subview which will be able to intercept user actions like button or switch. Supported action views are: * GSDListViewCellActionButtonConfiguration - View which will inject button to the row * GSDListViewCellActionSwitchConfiguration - View which will inject the switch controll to the row

CellGestureRecognizers

Another property inside cell configuration is the "gestureRecognizerConfiguration". This property defines the gesture's which will be catched by the cell. (The single tap interaction is provided by default). Currently the SDK supports one recognizer: * GSDGestureLongClickConfiguration - gesture recognizer which will catch the long click action perfomred on once cell

Catching events

Assigning the proper actions inside the cell configuration is not enough to fully support user interactions. Developer has to provide the object which will catch those events. That object has to conform to "GSDListViewCellDelegate", and has to assigned to "cellDelegate" property of ListViewController.

The "catching" object will implement:

  • listViewCellSwitchValueChanged(switch: UISwitch, indexPath: IndexPath?)
  • listViewCellButtonPushed(button:UIButton, indexPath: IndexPath?)
  • listViewCellCellLongClickDetected( indexPath:IndexPath? )
  • listViewCellCellDidSelectRowAtIndexPath(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)

Each function will give the exact information about the source of the action in form of calling action and index od the cell inside the ListViewController