Hierarchy Item Table View Cell¶
FUIHierarchyItemTableViewCell
¶
open class FUIHierarchyItemTableViewCell: FUIObjectBaseTableViewCell<FUIHierarchyItemView>
FUIHierarchyItemTableViewCell
is a table view UI component which extends FUIObjectBaseTableViewCell
for showing a collection item's business object content and hierarchy information (e.g. number of children in its next level). It is identical to FUIHierarchyCollectionItem
in terms of the configuration of inner view and hierarchy indicator.
Initialization and Configuration¶
To use FUIHierarchyItemTableViewCell
, it should be dequeued from hierarchyView
and returned in the data source method in FUIHierarchyViewDataSource
.
Example of setting an FUIHierarchyCollectionItem
in a table view:
cell.title.text = "Business Object Title"
cell.subtitle.text = "Business Object Subtitle"
cell.footnote.text = "Business Object Footnote"
cell.hierarchyIndicator.title.text = "128"
cell.status.text = "Business Object Status"
cell.accessoryType = .disclosureIndicator
Settings of Hierarchy Indicator¶
Similar to FUIHierarchyCollectionItem
, hierarchy indicator is used to display related hierarchy information. To customize a different text in hierarchy indicator, set the text
for title
property of the cell's FUIHierarchyIndicator
.
cell.hierarchyIndicator.title.text = "My Title"
Likewise, hierarchy indicator by default is displayed in a vertical aligned multi-line mode in FUIHierarchyCollectionItem
. To display in single-line mode, configure the isMultiline
property of the cell's FUIHierarchyIndicator
.
cell.hierarchyIndicator.isMultiline = false
Layout of Hierarchy Indicator in Table View¶
The default width of the space showing hierarchy indicator is 38px
in multi-line mode and 74px
in multi-line mode. So the table view controller consuming the FUIHierarchyItemTableViewCell
should enforce this minimum layout margin based on its display mode. The recommended technique for managing this is to set the table view controller's additionalSafeAreaInsets
property accordingly.
override func viewDidLoad() {
self.tableView.showsVerticalScrollIndicator = false
self.tableView.insetsContentViewsToSafeArea = false
if UIView.userInterfaceLayoutDirection(for: self.view.semanticContentAttribute) == .leftToRight {
self.additionalSafeAreaInsets.right = 38
} else {
self.additionalSafeAreaInsets.left = 38
}
}
Default Styling¶
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¶
Similar to FUIHierarchyCollectionItem
, selection behavior can be customized by conforming to FUIHierarchyViewDelegate
and then implementing the hierarchyButtonTappedForItemWith
method.
AccessoryView
, AccessoryType
, and EditingAccessoryView
¶
Standard UITableViewCell
properties like accessoryView
, accessoryType
, and editingAccessoryView
are supported.
Theming¶
Supported class paths:
fdlFUIBaseCollectionViewCell {}
fdlFUIBaseCollectionViewCell_title {}
fdlFUIBaseCollectionViewCell_subtitle {}
fdlFUIBaseCollectionViewCell_footnote {}
fdlFUIBaseCollectionViewCell_detailImageView {}
Please refer to FUIHierarchyItemView
and FUIHierarchyIndicator
documentation for all supported attributes.