
NSUI
AppKit and UIKit without conditional compilation
There are small differences between otherwise-source-compatible classes in AppKit and UIKit and it drives everyone bananas. I was inspired by Nick Lockwood to make this into a package.
When in doubt, UIKit wins. This keeps things familar to the most people.
Integration
Swift Package Manager:
dependencies: [
.package(url: "https://github.com/mattmassicotte/nsui")
]
Types
NSUIApplication
NSUIApplicationDelegate
NSUIApplicationDelegateAdaptor
NSUIColor
NSUIHostingController
NSUILongPressGestureRecognizer
NSUITapGestureRecognizer
NSUITextStorageEditActions
NSUITextView
NSUIViewController
NSUIWorkspace
NSUIPasteboard
Protocols
public protocol NSUIViewRepresentable {
associatedtype NSUIViewType
func makeNSUIView(context: Context) -> NSUIViewType
func updateNSUIView(_ view: NSUIViewType, context: Context)
}
Contributing and Collaboration
I prefer collaboration, and would love to find ways to work together if you have a similar project.
I prefer indentation with tabs for improved accessibility. But, I’d rather you use the system you want and make a PR than hesitate because of whitespace.
Suggestions and Feedback
I’d love to hear from you! Get in touch via mastodon, an issue, or a pull request.
By participating in this project you agree to abide by the Contributor Code of Conduct.
NSUI
AppKit and UIKit without conditional compilation
There are small differences between otherwise-source-compatible classes in AppKit and UIKit and it drives everyone bananas. I was inspired by Nick Lockwood to make this into a package.
When in doubt, UIKit wins. This keeps things familar to the most people.
Integration
Swift Package Manager:
Types
Protocols
Contributing and Collaboration
I prefer collaboration, and would love to find ways to work together if you have a similar project.
I prefer indentation with tabs for improved accessibility. But, I’d rather you use the system you want and make a PR than hesitate because of whitespace.
Suggestions and Feedback
I’d love to hear from you! Get in touch via mastodon, an issue, or a pull request.
By participating in this project you agree to abide by the Contributor Code of Conduct.