Skip to content

darquro/Visibility

Repository files navigation

logo

CI Status Version License Platform

Handle a view visibility in the window

Usage

// start handling visibility
targetView.visibility
    .changed { state in
        switch state {
        case .visible:
            // visible process here
        case .invisible:
            // invisible process here
    }
}

// stop handling visibility
targetView.visibility.invalidate()

Configuration

You can change the configuration with setConfig

targetView.visibility
    .setConfig { config in
        config.timeInterval = 1.0
        config.intersectionRatio = 0.8
        config.transparencyRatio = 0.5
    }
    .changed { state in
        ...
    }
name description default
timeInterval Interval time of checking view state (sec) 0.5
intersectionRatio The view rectangle visible ratio in UIWindow (0<..1.0) 0.5
transparencyRatio The view transparency ratio (0..<1.0) 0

Installation

Visibility is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "Visibility"

To integrate using Carthage, add the following to your Cartfile:

github "darquro/Visibility"

Requirements

  • Swift 4.0 or later
  • iOS 8.0 or later

Author

darquro

License

VerticalAlignmentLabel is available under the MIT license. See the LICENSE file for more info.

About

Handle a view visibility in the window

Resources

License

Stars

Watchers

Forks

Packages

No packages published