6425 open source UI components
for iOS, iPadOS, macOS, tvOS, and watchOS.

Sponsored with ❤️ by Instabug
Spend Your Time Developing Not Debugging with Instabug SDK
Instabug

Catch bugs as soon as they happen and know exactly why a crash occurred. With Instabug you will automatically receive device data, network logs, and reproduction steps with every bug and crash report. It only takes a line of code to integrate.

SFSymbol screenshot

SFSymbol

All the SFSymbols at your fingertips

View Control

SkeletonUI screenshot

SkeletonUI

SkeletonUI aims to bring an elegant, declarative syntax to skeleton loading animations. Get rid of loading screens or spinners and start using skeletons to represent final content shapes.

View Control

AMTabView screenshot

AMTabView

AMTabView is a custom tab bar with amazing animation.

View Control

AMOuijaBoard screenshot

AMOuijaBoard

AMOuijaBoard is a view can select text.

View Control

Infinite Scroll screenshot

Infinite Scroll

Infinite scrolling allows users to load content continuously, eliminating the need for user's explicit actions. App loads some initial data and then load the rest of the data when the user reaches the bottom of the visible content. This data is divided in pages.

View Control

AANetworking screenshot

AANetworking

AANetworking wraps power of Alamofire and Moya into simple Codeable format

View Control

AAProfanityFilter screenshot

AAProfanityFilter

Simple Profanity Filter for Strings written in Swift!

View Control

AAExtensions screenshot

AAExtensions

Useful Extensions!

View Control

MGObfuscator screenshot

MGObfuscator

When we are working on apps which have lot of sensitive information (like Banking etc). We should be a lot of careful about strings. There is nice write up why (https://www.raywenderlich.com/2666-ios-app-security-and-analysis-part-1-2). To prevent leaking of potentially sensitive data, it is not a good idea that certain strings be stored in the app's memory in plain text longer than they need to be. I want to create an obfuscation wrapper for strings. The purpose of such wrapper is to prevent sensitive data from being present in memory in unobfuscated form all the time. It will be passed to classes and functions where a string would normally be passed and when a wrapper is destroyed, the underlying obfuscated data must be completely purged from memory. it is also possible to use different obfuscation algorithms Target MGObfuscate needs to be selected and build before running playground or Test target. Project will only compile with Xcode 10 as it is using CommonCrpto which is not shipped in former versions. I have not compiled CommonCrpto (I might do it later). Follow this link for compiling for previous versions (https://stackoverflow.com/questions/25248598/importing-commoncrypto-in-a-swift-framework) Working: When user enters a pin/passcode, as an initialiser we will provide a salt and algorithm type. It quickly takes password and generate DrivedKey (Salted stretched Hash from PBKDF2). We can always save this in keychain if we don't want user to enter pin again (generally not in case of banking app). Encrypt Function: public func encriptAndPurge(inputString: inout String) -> Data It takes inout parameter and quickly provide a encrypted data from derivedkey. Original string is erased after encryption. Decrypt Function: public func decript(data: Data, result: (String) -> Void) It provides a callback with decrypted string. the scope of string is limited to Clouser. For further use user has to save it to some variable.

View Control

iCimulator screenshot

iCimulator

iCimulator allows us to use camera functions on iOS Simulator. (Without any changes in your code)

View Control