Supporting Base Views

  • A UITableViewCell subclass, which supports limited configuration of separator line visibility and tintColor configuration.

    Theming

    Supported style classes

    fdlFUIBaseTableViewCell
    fdlFUIBaseTableViewCell_selectedBackgroundView
    
    See more

    Declaration

    Swift

    open class FUIBaseTableViewCell : UITableViewCell
  • Base UITableViewCell subclass, which adds a subview instance implementing Drawing, and manages its resizing & redrawing.

    The FUIBaseDrawingTableViewCell is generic on its internal InnerView, which enables the API of the InnerView to be exposed on the table view cell by using protocol extensions.

    For example, the FUIChartTitleTableViewCell: FUIBaseDrawingTableViewCell<FUIChartTitleView> is generic on FUIChartTitleView, which implements the FUITitleComponent, FUISubtitleComponent, and FUIStatusComponent protocols. Extensions to FUIBaseDrawingTableViewCell are implemented for each of the Component protocols: FUITitleComponent, FUISubtitleComponent, and FUIStatusComponent, where InnerView implements the protocol, such that the property is routed to the InnerView implementation.

    Example Composition:

    Declare FUIChartTitleView, implementing the component interfaces

    open class FUIChartTitleView: FUIDrawingView, FUITitleComponent, FUISubtitleComponent, FUIStatusComponent {
    
    // MARK: - implement interfaces for `FUITitleComponent`, `FUISubtitleComponent`, `FUIStatusComponent`
        public private(set) var title: FUIText = FUIText()
        public private(set) var subtitle: FUIText = FUIText()
        public private(set) var status: FUIText = FUIText()
    

    Declare FUIChartTitleTableViewCell, which is generic on FUIChartTitleView

    open class FUIChartTitleTableViewCell: FUIBaseDrawingTableViewCell<FUIChartTitleView> {
    
        override func setup() {
    // MARK: - internal `_innerView` property is set to instance of `InnerView` class
            self._innerView = FUIChartTitleView()
            super.setup()
        }
    }
    

    Implement constrained extension to FUIBaseDrawingTableViewCell for FUITitleComponent

    extension FUIBaseDrawingTableViewCell where InnerView: FUITitleComponent {
    
       public var title: FUIText {
           return _innerView.title
       }
    
       public var titleAttributedText: NSAttributedString! {
           get {
               return _innerView.titleAttributedText
           }
           set {
               _innerView.titleAttributedText = newValue
           }
       }
    
       public var titleStyleClassPath: [FioriStyle] {
           get {
               return _innerView.titleStyleClassPath
           }
           set {
               _innerView.titleStyleClassPath = newValue
           }
       }
    }
    
    See more

    Declaration

    Swift

    open class FUIBaseDrawingTableViewCell<InnerView> : FUIBaseTableViewCell, InnerViewContainer, FUIStyleByStringAttributes where InnerView : UIView, InnerView : FUIBackgroundSchemeSupporting, InnerView : FUICalculateLayout, InnerView : FUIStyleByStringAttributes
  • A base class of UICollectionViewCell which exposes properties for displaying an accessory view, and for displaying cell borders.

    Theming

    Supported style classes

    fdlFUIBaseCollectionViewCell
    fdlFUIBaseCollectionViewCell_selectedBackgroundView
    
    See more

    Declaration

    Swift

    open class FUIBaseCollectionViewCell : UICollectionViewCell
  • Base Collection View Cell for FUICollectionItemCell and FUIImageCollectionViewCell. Typically not used directly by developer.

    Usage

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: FUIBaseItemCollectionViewCell.reuseIdentifier, for: indexPath) as! FUIBaseItemCollectionViewCell
    cell.itemSize = .small
    cell.detailImageView.image = UIImage(named: "profile")
    

    Theming

    nuiClass:

    fdlFUIBaseItemCollectionViewCell {}
    

    Supported TEXT class paths:

    fdlFUIBaseItemCollectionViewCell_title {}
    fdlFUIBaseItemCollectionViewCell_subtitle {}
    fdlFUIBaseItemCollectionViewCell_status {}
    fdlFUIBaseItemCollectionViewCell_placeholder {}
    

    Supported TEXT properties:

    font-color: Color;
    font-style: UIFontTextStyle;
    text-line-clamp: Integer;
    text-align: NSTextAlignment;
    

    Supported IMAGE class paths:

    fdlFUIBaseItemCollectionViewCell_detailImageView {}
    

    Supported IMAGE properties:

    tint-color: Color;
    
    See more

    Declaration

    Swift

    open class FUIBaseItemCollectionViewCell<InnerView> : FUIBaseDrawingCollectionViewCell<InnerView> where InnerView : FUIImageCollectionItemView
  • Base UIView subclass, implementing the fixedLayoutMargins feature.

    See more

    Declaration

    Swift

    open class FUIBaseFixedMarginsView : UIView
  • Base view for Chart Cards. Typically not used directly by developer.

    Theming

    Supported TEXT class paths:

    fdlFUICardBaseView_title {}
    fdlFUICardBaseView_kpiUnitItem {}
    fdlFUICardBaseView_kpiMetricItem {}
    fdlFUICardBaseView_kpiFractionItem {}
    fdlFUICardBaseView_status {}
    

    Supported TEXT properties:

    font-color: Color;
    font-style: UIFontTextStyle;
    text-line-clamp: Integer;
    text-align: NSTextAlignment;
    

    Supported IMAGE class paths:

    fdlFUICardBaseView_kpiIconItem {}
    

    Supported IMAGE properties:

    tint-color: Color;
    
    See more

    Declaration

    Swift

    open class FUICardBaseView : FUIKPITitleBaseView, FUIStatusComponent
  • Base view for Chart Cards. Typically not used directly by developer.

    ## Theming

    Supported TEXT class paths:

     fdlFUIKPITitleBaseView_title {}
     fdlFUIKPITitleBaseView_kpiUnitItem {}
     fdlFUIKPITitleBaseView_kpiMetricItem {}
     fdlFUIKPITitleBaseView_kpiFractionItem {}
    

    Supported TEXT properties:

     font-color: Color;
     font-style: UIFontTextStyle;
     text-line-clamp: Integer;
     text-align: NSTextAlignment;
    

    Supported IMAGE class paths:

     fdlFUIKPITitleBaseView_kpiIconItem {}
    

    Supported IMAGE properties:

     tint-color: Color;
    
    See more

    Declaration

    Swift

    open class FUIKPITitleBaseView : FUITitleBaseView, FUIKPIComponent, FUIKPIAttributesProvider