FUIEULAViewController

open class FUIEULAViewController : FUIWelcomeController, FUISolidNavigationBarProtocol, UIScrollViewDelegate

This UIViewController is used to display the End User License Agreement, EULA. There are two buttons on the tool bar at the bottom of the screen, “Agree” and “Disagree”, to choose to confirm or reject the agreement. In addition, there is a “Cancel” button at the left on the navigation bar.

Developer should provide the text for the headlineLabel property, the attributed text for the eulaTextView property, and set the delegate property to handle user interactions.

let eulaController = FUIEULAViewController.createInstanceFromStoryboard()

eulaController.headlineLabel.text = "CUSTOM EULA"
eulaController.eulaTextView.attributedText = NSAttributedString(string: "This is a legally binding agreement (\"Agreement\") between ...", attributes: [NSAttributedStringKey.font: UIFont(name: "Georgia", size: 24.0)!
])
eulaController.delegate = self

let navController = UINavigationController.init(rootViewController: eulaController)
self.navigationController?.present(navController, animated: true, completion: nil)

Theming


fdlFUIEULAView_headlineLabel {
   font-size: 28;
   font-name: thinSystem;
   font-color: @primary1;
}

fdlFUIEULAView_confirmButton {
   background-tint-color: @tintColorDark;
}

fdlFUIEULAView_rejectButton {
   background-tint-color: @tintColorDark;
}

fdlFUIEULAView_cancelButton {
   background-tint-color: @tintColorDark;
}

fdlFUIEULAView_navigationBar {
   background-color: clear;
   background-tint-color: @tintColor;
   bar-style: default;
}

Attention

The delegate object with type FUIEULADelegate is declared as a weak reference. On deallocation it will be automatically set to nil. To keep it alive as expected, developer should retain the delegate object during its whole execution scope.

  • The UILabel to hold the EULA title - Developer should set the text for this headline label.

    Declaration

    Swift

    @IBOutlet
    public private(set) weak var headlineLabel: UILabel! { get }
  • The UITextView to hold the EULA text - Developer should set the text using its attributedText property.

    Declaration

    Swift

    @IBOutlet
    public private(set) weak var eulaTextView: UITextView! { get }
  • The confirmation button - The default string is from localized strings file - “Agree”.

    Declaration

    Swift

    @IBOutlet
    public private(set) weak var confirmButton: UIBarButtonItem! { get }
  • The confirmation button - The default string is from localized strings file - “Disagree”.

    Declaration

    Swift

    @IBOutlet
    public private(set) weak var rejectButton: UIBarButtonItem! { get }
  • The cancel button. This is configured as the iOS system “Cancel” bar button item.

    Declaration

    Swift

    @IBOutlet
    public private(set) weak var cancelButton: UIBarButtonItem! { get }
  • The delegate to handle user interaction on the screen.

    Declaration

    Swift

    public weak var delegate: FUIEULADelegate?
  • This property indicates if the “Confirm” button should be disabled until the user scrolls the EULA text to the end.

    The default is false. Which means the “Confirm” button is always enabled.

    Declaration

    Swift

    open var disablesConfirmActionUntilScrollingToEnd: Bool
  • Creates a FUIEULAViewController object from storyboard.

    Declaration

    Swift

    public class func createInstanceFromStoryboard() -> FUIEULAViewController
  • Undocumented

    Declaration

    Swift

    public func scrollViewDidScroll(_ scrollView: UIScrollView)
  • Set EULA attributedText and enable the dynamic type when using customized font.

    Declaration

    Swift

    public func setEULAText(_ attrString: NSAttributedString, replaceWithScaledFont: Bool = false)

    Parameters

    attrString

    The value of NSAttributedString.

    replaceWithScaledFont

    The Bool value to enable the dynamic type for customized font. It is false by default.