page-control
is a highly customizable page control.
import PageControl
let pageControl = PageControl()
pageControl.numberOfPages = 5
pageControl.drawer = ExtendedLineDrawer(
itemColor: .lightGray,
selectedItemColor: .blue
)
The custom drawer can be implemented, such as:
import PageControl
final class MyCustomDrawer: BaseDrawer {
override public func draw(_ rect: CGRect) {
// Custom implementation for drawing content in the provided rectangle.
}
override public var contentSize: CGSize {
// Custom implementation for calculating the content size.
}
}
- iOS 14.0+
- Xcode 16.0
- Swift 6.0
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift
compiler. It is in early development, but page-control
does support its use on supported platforms.
Once you have your Swift package set up, adding page-control
as a dependency is as easy as adding it to the dependencies
value of your Package.swift
.
dependencies: [
.package(url: "https://github.com/space-code/page-control.git", .upToNextMajor(from: "1.0.0"))
]
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
Bootstrapping development environment
make bootstrap
Please feel free to help out with this project! If you see something that could be made better or want a new feature, open up an issue or send a Pull Request!
Nikita Vasilev, [email protected]
page-control is available under the MIT license. See the LICENSE file for more info.