This document contains information about ENTRefreshControl
class to use external UIView
instead of native view usually bind with UIScrollView
pod "ENTRefreshControl"
Every things with ENTRefreshControl
works just the same as native UIRefreshControl
but with few changes.
1: You can assign your custom view to display and animate with refresh controls' pull state. For this all you need is to create your custom view and place it some where on Screen e.g on UINavigationBar
or any where you want. After that just pass the reference of that view to ENTRefreshControl
object loaderView
.
let refreshControl = ENTRefreshControl()
refreshControl.loaderView = yourCustomView
refreshControl.rotationSpeed = .double
2: You can also slow down or faster the rotation of your custom view when you are pulling to refresh. For this we have enumeration with values.
enum Speed {
case same
case half
case double
}
3: You can stop your view's animation without calling refreshControl.endRefreshing()
function and start animation without calling refreshControl.beginRefreshing()
like this.
refreshControl.startRotate // to start your animation
refreshControl.stopRotate // to end your animation
starting animation without calling
refreshControl.beginRefreshing()
will give youfalse
when you will trigerrefreshControl.isRefreshing()
function.
4: You can now register a completion handler to get current state of Control which will invoke when ever an event is occur on refresh control.
refControl.pullState = { state, frame in
//state is an enumeration with name PullState and defined below.
//frame is the current of of refreshControl with respect to its superview.
}
PullState
is an enumeration which contains information about the state of refresh control's pulling state. E.g User is pulling downward, upward, isLoading or none.
public enum PullState{
case up
case down
case loading
case none
}