SwiftUIX attempts to fill the gaps of the still nascent SwiftUI framework, providing an extensive suite of components, extensions and utilities to complement the standard library.
All documentation is hosted on the project wiki here. Documentation is a currently a work-in-progress. Volunteers needed!
The goal of this project is to complement the SwiftUI standard library, offering hundreds of extensions and views that empower you, the developer, to build applications with the ease promised by the revolution that is SwiftUI.
This project is also by far the most complete port of missing UIKit/AppKit functionality, striving it to deliver in most Apple-like fashion possible.
UIKit | SwiftUI | SwiftUIX |
---|---|---|
UIActivityIndicatorView |
- | ActivityIndicator |
UIActivityViewController |
- | AppActivityView |
UIBlurEffect |
- | BlurEffectView |
UICollectionView |
- | CollectionView |
UIDeviceOrientation |
- | DeviceLayoutOrientation |
UIImagePickerController |
- | ImagePicker |
UIPageViewController |
- | PaginationView |
UIScreen |
- | Screen |
UISearchBar |
- | SearchBar |
UIScrollView |
ScrollView |
CocoaScrollView |
UISwipeGestureRecognizer |
- | SwipeGestureOverlay |
UITableView |
List |
CocoaList |
UITextField |
TextField |
CocoaTextField |
UIModalPresentationStyle |
- | ModalViewPresentationStyle |
UIViewControllerTransitioningDelegate |
- | CocoaHostingControllerTransitioningDelegate |
UIVisualEffectView |
- | VisualEffectView |
UIWindow |
- | WindowOverlay |
- iOS 13, macOS 10.15, tvOS 13, or watchOS 6
- Swift 5.1
- Xcode 11
The preferred way of installing SwiftUIX is via the Swift Package Manager.
Xcode 11 integrates with libSwiftPM to provide support for iOS, watchOS, and tvOS platforms.
- In Xcode, open your project and navigate to File → Swift Packages → Add Package Dependency...
- Paste the repository URL (
https://github.com/SwiftUIX/SwiftUIX
) and click Next. - For Rules, select Branch (with branch set to
master
). - Click Finish.
SwiftUIX's documentation is available via the repository wiki.
SwiftUIX welcomes contributions in the form of GitHub issues and pull-requests. Please refer the projects section before raising a bug or feature request, as it may already be under progress.
SwiftUIX is licensed under the MIT License.
SwiftUIX is a project of @vmanot.
SwiftUIX is and will always be free and open. Maintaining SwiftUIX, however, is a time-consuming endeavour. If you're reliant on SwiftUIX for your app/project and would like to see it grow, consider contributing/donating as way to help.