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. This project is by far the most complete port of missing UIKit/AppKit functionality, striving to deliver it in the most Apple-like fashion possible.
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.
- iOS 13, macOS 10.15, tvOS 13, or watchOS 6
- Swift 5.3
- Xcode 12
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.
- Open the Project settings, add SwiftUI.framework to the Linked Frameworks and Libraries, set Status to Optional.
All documentation is available via the repository wiki.
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 |
- | ModalPresentationStyle |
UIViewControllerTransitioningDelegate |
- | UIHostingControllerTransitioningDelegate |
UIVisualEffectView |
- | VisualEffectView |
UIWindow |
- | WindowOverlay |
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.
To create an Xcode project for SwiftUIX run bundle install; bundle exec fastlane generate_xcodeproj
.
To check the automated builds for SwiftUIX run bundle install; bundle exec fastlane build
.
SwiftUIX is licensed under the MIT License.
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.
SwiftUIX is a project of @vmanot.