     ///
     /// The default value is 0.
     @IBInspectable
-    public var numberOfPages: Int = 0 {
+    open var numberOfPages: Int = 0 {
         didSet {
             isHidden = hidesForSinglePage && numberOfPages <= 1
             if numberOfPages != oldValue {

// MARK: - Tint Color

extension PageControl {
    public override func tintColorDidChange() {
        super.tintColorDidChange()
        updateColors()
    }

    ///
    /// - Parameter currentPage: The current page indicator is filled if the value is .0, and about half filled if ±.25.
    /// - Parameter animated: `true` to animate the transition to the new page, `false` to make the transition immediate.
    open func setCurrentPage(_ currentPage: CGFloat, animated: Bool = false) {
        let newPage = max(0, min(currentPage, CGFloat(numberOfPages - 1)))
        _currentPage = newPage
        updateCurrentPageDisplayWithAnimation(animated)
