FUIHierarchyCollectionItem is a collection view UI component which extends
FUITableViewAccessoryDrawingCollectionViewCell for showing a collection item’s business object content and hierarchy information (e.g. number of children in its next level). It is the default cell for displaying hierarchy items in an
Initialization and Configuration:
FUIHierarchyCollectionItem, it should be dequeued from
hierarchyView and returned in the data source method in
Example of setting an
FUIHierarchyCollectionItem by implementing
cellForItemWith in the hierarchy view:
cell.title.text = "Business Object Title" cell.subtitle.text = "Business Object Subtitle" cell.footnote.text = "Business Object Footnote" cell.accessoryType = .disclosureIndicator cell.statusImage = FUIIconLibrary.indicator.veryHighPriority cell.hierarchyIndicator.title.text = "999,999"
Hierarchy indicator provides a stacked view which includes two components: a text view, and a hierarchy icon. In hierarchy view, the text view is used to show the number of children belongs to the specific hierarchy item. Once the hierarchy indicator is tapped, the hierarchy view will be expanded to display a list of its children in a new column. The icon indicates that if the hierarchy item has been expanded or not. To customize a different text in hierarchy indicator, set the
title property of the cell’s
cell.hierarchyIndicator.title.text = "My Title"
Hierarchy indicator has two ways to layout its components: multi-line mode and single-line mode. By default, it is displayed in a vertical aligned multi-line mode. To horizontally align its components in a single-line mode, configure the
isMultiline property of the cell’s
cell.hierarchyIndicator.isMultiline = false
Depending on the selection state, the tint color and button style of hierarchy icon, the font size of the title text, and the cell’s background color will be updated automatically.
Customize Selection Behavior:
By default after selection the hierarchy item cell will be expanded. Selection behavior can be customized by conforming to
FUIHierarchyViewDelegate and then implementing the
hierarchyButtonTappedForItemWith method. To support additional gesture handling, a developer would usually add a gesture recognizer. This can be added directly to the cell when it is being dequeued, or added to collection view containing the cell.
In the following example, a long press gesture recognizer is added to each hierarchy collection cell:
let longPressGestureRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(didLongPress(_:))) longPressGestureRecognizer.minimumPressDuration = 0.5 cell.addGestureRecognizer(longPressGestureRecognizer)
Supported class paths:
An internally managed weak reference to the item’s parent hierarchy view. Not typically set by Developer.
open weak var parentHierarchyView: FUIHierarchyView?