Classes
The following classes are available globally.
-
A container
See moreNibViewControllerthat contains anAlertEmbeddableViewControllerDeclaration
Swift
open class AlertViewController : NibViewControllerextension AlertViewController: AlertEmbeddableViewControllerDelegate -
An
See moreAlertEmbeddableViewControllerthat can display a heading message, a subheading message, and a dynamic count of buttons in aUIStackViewDeclaration
Swift
open class GenericAlertViewController : NibViewController, AlertEmbeddableViewController -
Undocumented
See moreDeclaration
Swift
open class LoadingAlertViewController : NibViewController, AlertEmbeddableViewController -
An
See moreAlertEmbeddableViewControllerthat displays a full screen view that forces/asks the user to upgrade the application to its current versionDeclaration
Swift
open class UpgradeCheckViewController : NibViewController, AlertEmbeddableViewController -
Undocumented
See moreDeclaration
Swift
open class AppInfoViewController : NibViewController -
A general collection view cell for carousel content.
See moreDeclaration
Swift
open class CarouselItemCell : UICollectionViewCell -
An abstract base class for providing data and handling actions for a
CollectionViewController.This is a generic NSObject conforming to
UICollectionViewDataSource,UICollectionViewDelegate,UISearchBarDelegateandContentLoaderprotocols.This class is to be subclassed to comply to a specific behavior.
The associated type of this class will be used to initialize it’s
CollectionDataProviderproperty. By default, theinit(collecitonView:)initialization method assigns the collection view property and sets it up using thesetupCollectionViewmethod.This class also supports data filtering through
UISearchBarDelegatesearchBar(_:,textDidChange:)method. It calls theupdateFilteredDatato update the filteredCollectionDataProviderproperty. ThefilteredData(with:)is called to filter the data using the search string.See moreNote
Due to what maybe seems to be a bug with the Swift, methods not initially in the superclass and implemented in the subclass may not be executed. To get around this, the method needs to have an@objcattribue.Declaration
Swift
open class BaseCollectionController<T> : NSObject, CollectionController -
A subclass of
BaseCollectionControllerthat serves as a base class that handles paginated list behavior for aCollectionViewController.This
CollectionControllersubclass manages paginated lists by keeping track of the current and loaded pages as well as prefetching succeeding pages. This shows a loading cell at the end of the list when it has not yet reached the last page. Also by default, the layout returns aListCollectionViewFlowLayoutwhich is similar to a table view.By default, this uses
ListItemCellfor its cells. The associated type can conform to theListItemCellPresentableto be able to configure the cells to present content of the type.When subclassed, the
registerComponentsandcollectionView(collectionView:cellForItemAt:)can be overriden to bypass usage of theListItemCell. The typical usage of this class when subclassed is:- Optionally override
registerComponentsto register cells and reusable views. - Override
loadContent(completion:)to fetch and update content. - Optionally override
collectionView(collectionView:cellForItemAt:)for configuring cells. Override
collectionView(collectionView:didSelectItemtAt:)for cell select actions.
See moreNote
Due to what maybe seems to be a bug with the Swift, methods not initially in the superclass and implemented in the subclass may not be executed. To get around this, the method needs to have an
@objcattribue.Declaration
Swift
open class ListCollectionController<T> : BaseCollectionController<T>, UICollectionViewDataSourcePrefetching - Optionally override
-
A subclass of
BaseCollectionControllerthat serves as a base class that handles carousel behavior for aCollectionViewController.This
CollectionControllersubclass manages a carousel-like content layout with a page control. The page control receives events to navigate through the content.By default, this uses
CarouselItemCellfor its cells. The associated type can conform to theCarouselItemCellPresentableto be able to configure the cells to present content of the type.When subclassed, the
registerComponentsandcollectionView(collectionView:cellForItemAt:)can be overriden to bypass usage of theCarouselItemCell. The typical usage of this class when subclassed is:- Optionally override
registerComponentsto register cells and reusable views. - Override
loadContent(completion:)to fetch and update content. - Optionally override
collectionView(collectionView:cellForItemAt:)for configuring cells. Override
collectionView(collectionView:didSelectItemtAt:)for cell select actions.
See moreNote
Due to what maybe seems to be a bug with the Swift, methods not initially in the superclass and implemented in the subclass may not be executed. To get around this, the method needs to have an
@objcattribue.Declaration
Swift
open class CarouselCollectionController<T> : BaseCollectionController<T> - Optionally override
-
Class representing Data to be used in a collection view.
This class manages a two dimensional array of an associated item type. The first dimension of the array serves as an indicator of the section while the second dimension are the items in the section.
See moreDeclaration
Swift
open class CollectionDataProvider<ItemType> -
A
StatefulViewControllersubclass that manages a collection view.This class has an associated value depending on the associated value of its collection view controller.
A refresh control is added in the collection view to capture pull to refresh events which will call the
refreshContent(completion:)of the collection controller. If there is an error during the refresh, theshowRefreshError(title:, message:)by default will show an alert with the error information. The localize description of the error will be passed as the message with no title.See moreNote
Being a subclass of aNibViewController, an associated nib file is required with outlets connected.Declaration
Swift
open class CollectionViewController : StatefulViewController -
A CollectionViewFlowLayout that resembles a table view.
This flow layout mimics a table view layout. It has
See moreminimumLineSpacingandminimumInteritemSpacingset to 10. TheitemSizeis set with the width equal to the collection view frame width minus the left and right section inset, and the height set as thecellHeightproperty.Declaration
Swift
open class ListCollectionViewFlowLayout : UICollectionViewFlowLayout -
A CollectionViewFlowLayout that resembles a carousel.
This flow layout mimics a carousel layout. It has
See moreminimumLineSpacingandminimumInteritemSpacingset to 0. TheitemSizeis set equal to the collection view’s frame size.Declaration
Swift
open class CarouselCollectionViewFlowLayout : UICollectionViewFlowLayout -
A CollectionViewFlowLayout that resembles a table view with dynamic height sizing.
This flow layout mimics a table view layout with dynamic height sizing. It has
minimumLineSpacingandminimumInteritemSpacingset to 10.Collection view cells used in this layout must override the
preferredLayoutAttributesFitting(_:)method to calculate the appropriate height for the cell. One way of doing this is the following:
See moreoverride func preferredLayoutAttributesFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes { let layoutAttributes = super.preferredLayoutAttributesFitting(layoutAttributes) layoutIfNeeded() layoutAttributes.frame.size = systemLayoutSizeFitting(UIView.layoutFittingCompressedSize, withHorizontalFittingPriority: .required, verticalFittingPriority: .fittingSizeLevel) return layoutAttributes }Declaration
Swift
open class DynamicListCollectionViewFlowLayout : UICollectionViewFlowLayout -
A subclass of
BaseCollectionControllerthat shows a list of countries for selection in aCollectionViewController.This
CollectionControllersubclass retrieves a list of countries with states from the user defaults using thedefaultsKeystatic property value. The list of countries retrieved from the user defaults is encoded with the following JSON format:{ "name": "<country_name>", "code": "<country_code>", "states": [ { "label": "<state_label_or_name>", "code": "<state_code>" } ] }The country object contains a
namewith a string value of the name of the country, acodewith a string value of the country code and an array of state objects.The state object contains a
labelwith a string value of the name/label of the state, and acodewith a string value of the state code.The default cell used is a
CountryCollectionViewCell. ItsnameLabelis used to display the country name. If the country name is empty, the code is displayed instead.The countries displayed are sorted alphabetically by the country’s name. If the country’s name is empty, the country’s code is used instead for sorting.
See moreNote
Due to what maybe seems to be a bug with the Swift, methods not initially in the superclass and implemented in the subclass may not be executed. To get around this, the method needs to have an@objcattribue.Declaration
Swift
open class CountriesCollectionController : BaseCollectionController<CountriesCollectionController.ItemTuple> -
The default collection view cell used by the
CountriesCollectionControllerto display the list of countries.This cell contains a single label that is used to display the name of the country.
See moreDeclaration
Swift
open class CountryCollectionViewCell : UICollectionViewCell -
The default collection view cell used by the
StatesCollectionControllerto display the list of states.This cell contains a single label that is used to display the name/label of the state.
See moreDeclaration
Swift
open class StateCollectionViewCell : UICollectionViewCell -
A subclass of
CollectionControllerthat shows a list of states for selection in aCollectionViewController.This
CollectionControllersubclass displays a list of states based from the value of the country code property. The states are retrieved from the user defaults using thedefaultsKeystatic property value. The list of countries with states retrieved from the user defaults is encoded with the following JSON format:{ "name": "<country_name>", "code": "<country_code>", "states": [ { "label": "<state_label_or_name>", "code": "<state_code>" } ] }The country object contains a
namewith a string value of the name of the country, acodewith a string value of the country code and an array of state objects.The state object contains a
labelwith a string value of the name/label of the state, and acodewith a string value of the state code.The default cell used is a
StateCollectionViewCell. ItsnameLabelis used to display the state name/label. If the state name/label is empty, the code is displayed instead.The states displayed are sorted alphabetically by the state’s name/label. If the state’s name/label is empty, the state’s code is used instead for sorting.
See moreNote
Due to what maybe seems to be a bug with the Swift, methods not initially in the superclass and implemented in the subclass may not be executed. To get around this, the method needs to have an@objcattribue.Declaration
Swift
open class StatesCollectionController : CountriesCollectionController -
A
StatefulViewControllersubclass that manages a generic detail view.This view controller serves as the base design of a detail view. An object conforming to the
DetailControllerprotocol is the data provider and action handler of this view controller.See moreNote
Being a subclass of aNibViewController, an associated nib file is required with outlets connected.Declaration
Swift
open class DetailViewController : StatefulViewController -
A wrapper class setting up the presentation of an
See moreUIImagePickerControllerby a designated view controller. This wrapper class only accepts media types of image or movie.Declaration
Swift
open class ImagePickerPresenter : NSObject, UIImagePickerControllerDelegate, UINavigationControllerDelegate -
A subclass of
CollectionControllerwhich displays the Menu for selection in aMenuViewController.This
CollectionControllerutilizesListCollectionViewFlowLayoutwhich imitates the table view layout.By default, this uses
MenuItemCellfor its cells. The associated type should conform to theMenuItemCellPresentableto be able to configure the cells to present content of the type.See moreNote
Due to what maybe seems to be a bug with the Swift, methods not initially in the superclass and implemented in the subclass may not be executed. To get around this, the method needs to have an@objcattribue.Declaration
Swift
open class MenuCollectionController : BaseCollectionController<MenuItemCellPresentable> -
This is the default collection view cell used by the
See moreMenuCollectionControllerto display the list of Menu.Declaration
Swift
open class MenuItemCell : UICollectionViewCell -
A subclass of
See moreCollectionViewControllerthat shows a list of menu items with a log out button.Declaration
Swift
open class MenuViewController : CollectionViewController -
A view controller that can be initialized with a specified nib name or a nib named the same as its class name.
The bundle for the nib is found by the
See morebundle(forFileName:)extension method ofBundle.Declaration
Swift
open class NibViewController : UIViewController -
A
NibViewControllersubclass that scans codes using the device’s camera.This view controller captures codes from the device’s camera. The code is then passed into the
captureActionclosure property.See moreNote
Being a subclass of aNibViewController, an associated nib file is required with outlets connected.Declaration
Swift
open class ScannerViewController : NibViewController, AVCaptureMetadataOutputObjectsDelegate -
A
NibViewControllersubclass that manages segmented views.Being a subclass of a
NibViewController, an associated nib file is required with outlets connected.This includes a segmented control that receives value changed events to change the shown view inside its container view. Data and selection actions are managed by an object conforming to
See moreSegmentedControllerwhich is assigned to thesegmentedControllerproperty.Declaration
Swift
open class SegmentedViewController : NibViewController -
A custom
See moreUIButtonthat serves as a check box by using an image Important: According to apple’s ios HIG, the size of the image should be approriate to its container or it will be displayed undesirablyDeclaration
Swift
open class CheckBox : SelectionButton -
A custom
See moreUIButtonthat serves as a rating button that has an event listener/emitter to other rating buttons within the same groupDeclaration
Swift
open class RatingButton : SelectionButton -
Undocumented
See moreDeclaration
Swift
open class SelectionButton : UIButton -
A
NibViewControllersubclass conforming to theLoadableViewController.This view controller is the default design for a loading view controller. It has an activity indicator and a label for a loading message.
See moreNote
Being a subclass of aNibViewController, an associated nib file is required with outlets connected.Declaration
Swift
open class DefaultLoadingViewController : NibViewController, LoadableViewController -
A
NibViewControllersubclass conforming to theReloadableViewController.This view controller is the default design for a reload view controller. It has a label for a reload message and a button to execute the reload.
See moreNote
Being a subclass of aNibViewController, an associated nib file is required with outlets connected.Declaration
Swift
open class DefaultReloadViewController : NibViewController, ReloadableViewController -
A
NibViewControllersubclass that manages and displays states of content.This view controller handles states of loading content by displaying the appropriate child view controller depending of the state.
See moreNote
Being a subclass of aNibViewController, an associated nib file is required with outlets connected.Declaration
Swift
open class StatefulViewController : NibViewController, Navigator -
Undocumented
See moreDeclaration
Swift
open class FloatingTextField : UITextField -
Undocumented
See moreDeclaration
Swift
open class FloatingTextFieldWithIcon : FloatingTextField -
Undocumented
See moreDeclaration
Swift
open class FloatingTextView : GrowingTextView -
Undocumented
See moreDeclaration
Swift
open class GrowingTextView : UIScrollView -
UIWindow that will be use whenever a ColorTheme will be applied on an Application.
Declaration
Swift
public final class CheetahAppWindow : UIWindow -
Undocumented
See moreDeclaration
Swift
open class CheetahColorThemePainter : ColorThemePainter -
Class for applying new theme by using the applyTheme function of the shared instance of this class.
See moreDeclaration
Swift
open class ThemeManager -
A
NibViewControllersubclass that displays web content.This view controller holds a
See moreWKWebViewand aUIProgressView. The progress view is only shown when the web view is loading content. This view controller also conforms toWKNavigationDelegate.Declaration
Swift
open class WebViewController : NibViewController, WKNavigationDelegate
View on GitHub
Classes Reference