FUIListPicker

@objc
public protocol FUIListPicker

The protocol defines the properties and functions for listing the options in an UITableView for the corresponding ListPickerFormCell.

  • The prompt string to be displayed on the footer of the list table view. If this is nil, there will be no table view footer.

    Declaration

    Swift

    var prompt: String? { get set }
  • This property indicates if search bar is to be displayed in the ListPicker. The default is false.

    Declaration

    Swift

    var isSearchEnabled: Bool { get set }
  • If this property is true, after user taps an item in search mode, the search will be canceled with the selection state changed for that item.

    Declaration

    Swift

    var isSearchCancelledAfterSelection: Bool { get set }
  • If this property is true, the navigation bar will be hidden when search is active. Otherwise, the navigation bar will remain when search is active. The default is true.

    Declaration

    Swift

    var hidesNavigationBarDuringSearch: Bool { get set }
  • If this is set, the delegate object of the search bar associated with this FUIListPicker will be set to this UISearchBarDelegate implementation.

    The default is nil.

    Declaration

    Swift

    var searchBarDelegate: UISearchBarDelegate? { get set }
  • The costom placeholder text on the search bar.

    If this is not nil, the placeholder in the search bar will be set to this text. Otherwise, the standard UISearchBar placeholder will be used.

    Declaration

    Swift

    var searchBarPlaceholderText: String? { get set }
  • If this is true, there will be a barcode scanner icon at the bookmark location of the search bar to allow user use barcode scanner.

    Declaration

    Swift

    var isBarcodeScannerEnabled: Bool { get set }
  • Undocumented

    Declaration

    Swift

    var barcodeScanMode: FUIBarcodeScanMode { get set }
  • A closure to transform the scan result string. The transformed string will be used as the search text. If this property is nil, the result string from scanner will be used as the search text directly without transformation.

    Declaration

    Swift

    var barcodeScanResultTransformer: ((String) -> String)? { get set }
  • The ListPickerDataSource implementation for the available options. If this is set, the valueOptions property of the associated FUIListPickerFormCell will be ignored. If this is not set by the developer, and valueOptions property of the associated FUIListPickerFormCell is set, a StringListPickerDataSource will be created using valueOptions and set to both properties ‘dataSource’ and ‘searchResultsUpdating’.

    Declaration

    Swift

    var dataSource: FUIListPickerDataSource? { get set }
  • Is the ListPickerDataSource implementation is unique identifier based or not.

    Declaration

    Swift

    var isDataSourceRequiringUniqueIdentifiers: Bool { get set }
  • The ListPickerSearchResultsUpdating implementation for handling search results. Please refer to the dataSource property that if dataSource property is not set by the developer, and valueOptions property of the associated FUIListPickerFormCell is set, a StringListPickerDataSource will be created using valueOptions and set to both properties ‘dataSource’ and ‘searchResultsUpdating’.

    Declaration

    Swift

    var searchResultsUpdating: FUIListPickerSearchResultsUpdating? { get set }
  • The section header title for selected entries in long list. The default is from localized strings file - “Selected”.

    Declaration

    Swift

    var selectedEntriesSectionTitle: String? { get set }
  • The section header title for all entries in long list. The default is from localized strings file - “All”.

    Declaration

    Swift

    var allEntriesSectionTitle: String? { get set }
  • The title string for the “Select All” button. The default is from localized strings file - “Select All”.

    Declaration

    Swift

    var selectAllButtonTitle: String? { get set }
  • The title string for the “Deselect All” button. The default is from localized strings file - “Deselect All”.

    Declaration

    Swift

    var deselectAllButtonTitle: String? { get set }
  • The title of the list picker.

    Declaration

    Swift

    var title: String? { get set }
  • Estimated height of UITableViewCells displayed in FUIListPicker table view. Should be used in same manner as UITableView.estimatedRowHeight.

    Declaration

    Swift

    var estimatedRowHeight: CGFloat { get set }
  • This property indicates if the table should be sectioned. i.e., when the number of items in the list requires more than one screen to displayed all of them, there will be a “Selected” section, to display the selected items, and an “All” section to display all items. If isSelectedSectionEnabled is false, there will be only one section to display all items.

    The default value is true.

    Declaration

    Swift

    var isSelectedSectionEnabled: Bool { get set }
  • This property indicates whether to show the selected section on search with unique identifier-based datasource.

    The default is false.

    Declaration

    Swift

    var showsSelectedSectionOnUIDDataSourceSearch: Bool { get set }
  • The tint color to be applied to the cells in the list table view. This is used to set the color of the selection check mark.

    Declaration

    Swift

    var tintColor: UIColor? { get set }
  • Register the UITableViewCell classes that will be used in displaying cells from dataSource. Note that the standard UITableViewCell is by default registered using the identifier “UITableViewCell”.

    Declaration

    Swift

    func register(_ cellClass: AnyClass?, forCellReuseIdentifier identifier: String)
  • Reload the data in the selection list table view.

    Declaration

    Swift

    func reloadData()