A UIKit extensions library filled with reusable UI snippets for faster iOS development

GoodUIKit

Good UIKit is a collection of useful and frequently used Swift UIKit extensions for iOS development. These extensions aim to simplify and streamline common tasks, making it easier for developers to write clean and concise code.

Instalation

Swift Package Manager

Create a Package.swift file and add the package dependency into the dependencies list. Or to integrate without package.swift add it through the Xcode add package interface.

import PackageDescription

let package = Package(
    name: "SampleProject",
    dependencies: [
        .Package(url: "https://github.com/GoodRequest/GoodUIKit" from: "addVersion")
    ]
)

Usage

Use our extensions with .gr just like this:

myCollectionView.gr.registerCell(fromClass: MyCollectionViewCell.self)

myTableView.gr.registerHeaderFooterView(fromClass: MyTableViewHeader.self)

UIKit Combine

You can define Publisher for your button or other user interactive elements

private(set) lazy var buttonPublisher = myButton.gr.publisher(for: .touchUpInside)

then subcribe to it and handle the actions whenever user interacts with the element

buttonPublisher
    .sink { [weak self] _ in
        // do actions
    }
    .store(in: &cancellables)
    

License

GoodUIKit is released under the MIT license. See LICENSE for details.

GitHub

View Github