iOS-GitHub上的优秀轮子

16,674 阅读10分钟

前言

最近项目不忙,闲来无事整理一下关于iOS在GitHub上的优秀第三方轮子,总有一个你能用得到。

轮子集合

1.awesome-swift: github.com/matteocripp…

令人敬畏的 Swift 库和资源的协作列表。

2.awesome-ios: github.com/vsouza/awes…

精心策划的 iOS 生态系统列表,包括 Objective-C 和 Swift 项目

3.TimLiu-iOS: github.com/Tim9Liu9/Ti…

iOS 开发常用三方库、插件、知名博客等等

算法和数据结构

1.swift-algorithm-club: github.com/raywenderli…

算法和数据结构的 Swift,与解释!

网络

1.Moya: github.com/Moya/Moya

提供一些网络抽象层,它们经过充分地封装,并直接调用 Alamofire。

2.*Alamofire: github.com/Alamofire/A…

Swift 中优雅的 HTTP 网络

3.Reachability.swift: github.com/ashleymills…

判断网络状态

UI

1.Material: github.com/CosmicMind/…

用于创建漂亮应用程序的 UI/UX 框架。

这是一个用于创建漂亮应用程序的 UI / UX 框架。Material 的动画系统已被完全改编,以利用 Motion (专用于动画和过渡的库)的优势。

2.MagazineLayout: github.com/airbnb/Maga…

一种集合视图布局,能够在垂直滚动的网格和列表中布局视图。

3.circle-menu: github.com/Ramotion/ci…

CircleMenu 是一个简单、优雅的 UI 菜单,具有圆形布局和材质设计动画。

4.Pastel: githu.com/cruisediary…

像 Instagram 一样的渐变动画效果

UICollectionView

1.AnimatedCollectionViewLayout: github.com/KelvinJin/A…

UICollectionViewLayout 子类,它向 UICollectionView 添加自定义转换/动画,而不影响现有代码。

通常,当您从一个项目滚动到另一个项目时,UICollectionView 没有转换效果。有很多方法可以为 UICollectionView 编写动画,但是使用 UICollectionViewLayout 子类是迄今为止最简单的方法。它不会破坏任何现有的代码。您仍然可以使用 UICollectionView 子类,并且不需要更改 UICollectionViewCell。

UITableView

1.SwipeCellKit: github.com/SwipeCellKi…

基于股票 Mail.app 的可滑动 UITableViewCell / UICollectionViewCell,在 Swift 中实现。

UIImageView

1.FaceAware: github.com/BeauNouvell…

一种扩展,使 UIImageView 能够聚焦于图像中的面。

2.TOCropViewController: github.com/TimOliver/T…

iOS 的视图控制器,允许用户裁剪 UIImage 对象的一部分

3.Nuke: github.com/kean/Nuke

强大的图像加载和缓存系统

Nuke 提供了一种简单有效的方法来下载和显示应用程序中的图像。

4.Lantern: github.com/fcbox/Lante…

基于 Swift 的高可用视图框架

5.YPImagePicker: github.com/Yummypets/Y…

用于 iOS 的类似 ins 的图像选取器和过滤器

6.ZLPhotoBrowser: github.com/longitachi/…

7.YBImageBrowser: github.com/indulgeIn/Y…

iOS image browser / iOS 图片浏览器 (支持视频)

8.MWPhotoBrowser: github.com/mwaterfall/…

一个简单的 iOS 照片和视频浏览器与网格视图,字幕和选择。

9.TZImagePickerControllergithub.com/banchichen/…

一个支持多选、选原图和视频的图片选择器,同时有预览、裁剪功能,支持 iOS6+。

10**.SDWebImage**: github.com/SDWebImage/…

异步图像下载器,支持缓存作为 UIImageView 类别

11.HXPhotoPicker: github.com/SilenceLove…

图片/视频选择器 - 支持 LivePhoto、GIF 图片选择、3DTouch 预览、在线下载 iCloud 上的资源、编辑图片/视频、浏览网络图片

12.ImagePicker: github.com/hyperoslo/I…

重塑 ImagePicker 的工作方式。

13.SKPhotoBrowser: github.com/suzuki-0000…

受 Facebook 启发的简单 PhotoBrowser / Viewer,由 swift 编写的 twitter 照片浏览器

14.Kingfishergithub.com/onevcat/Kin…

一个轻量级的纯 Swift 库,用于从 Web 下载和缓存图像。

UIPageControl

1.paper-onboarding: github.com/Ramotion/pa…

PaperOnboarding 是一个材料设计界面滑块。

2.CHIPageControl: github.com/ChiliLabs/C…

CHIPageControl 是一组很酷的动画页面控件,用来取代无聊的 UIPageControl。

UISearchController

1.PYSearch: github.com/ko1o/PYSear…

一个优雅的搜索控制器,取代 iOS(iPhone 和 iPad)的 UISearchController。

UILabel

1.SkyFloatingLabelTextField: github.com/Skyscanner/…

一个漂亮灵活的文本字段控件实现了“浮动标签模式”。

2.MarqueeLabel: github.com/cbpowell/Ma…

UILabel 的一种插入式替换,当标签的文本不在指定的框架内时,它会自动添加滚动字幕效果

3.ActiveLabel.swift: github.com/optonaut/Ac…

UILabel drop-in 替换支持用 Swift 编写的 Hashtags(#)、references(@)和 url(http://)

UITabBarController

1.CYLTabBarController: github.com/ChenYilong/…

一行代码实现 Lottie 动画 TabBar,支持中间带+号的 TabBar 样式,自带红点角标,支持动态刷新。

2.adaptive-tab-bar: github.com/Ramotion/ad…

AdaptiveController 是一个“渐进缩减”的 Swift UI 模块,用于向本机或自定义 iOS UI 元素添加自定义状态。

3.animated-tab-bar: github.com/Ramotion/an…

是一个 Swift UI 模块库,用于向 iOS 选项卡项和图标添加动画。

4.ESTabBarControllergithub.com/eggswift/ES…

ESTabBarController 是一个高度自定义的 TabBarController 组件,继承自 UITabBarController。

UIDevice

1.DeviceKit: github.com/devicekit/D…

DeviceKit 是 UIDevice 的值类型替换

UISegmentedControl

1.TwicketSegmentedControl: github.com/twicketapp/…

iOS 的自定义 UISegmentedControl 替换,用 Swift 编写

快速初始化

1.Then: github.com/devxoul/The…

超甜语法糖快速初始化

自动布局

1.TinyConstraints: github.com/roberthein/…

TinyConstraints 是使自动布局更适合人类使用的语法糖。

2.Cartography: github.com/robb/Cartog…

Swift 的声明式自动布局 DSL

3.SnapKitgithub.com/SnapKit/Sna…

适用于 iOS 和 OS X 的 Swift 自动布局 DSL

Date 日期

1.SwiftDate: github.com/malcommac/S…

工具包来分析,验证,操作,比较和显示日期,时间和时区在 Swift。

时间的拓展

2.DateTools: github.com/MatthewYork…

在 iOS 中日期和时间变得简单

JSON

1.HandyJSON: github.com/alibaba/Han…

便捷的 json-object 序列化/反序列化库

2.SwiftyJSON: github.com/SwiftyJSON/…

在 Swift 中处理 JSON 数据的更好方法。

HUD 加载

1.JGProgressHUD: github.com/JonasGessne…

一个优雅和简单的进步 HUD 为 iOS 和 tvOS,兼容 Swift 和 ObjC。

2.StatusAlert: github.com/LowKostKust…

像自动隐藏状态警报一样显示苹果系统。它非常适合通知用户,而不会像 iOS 那样中断用户流。

3.SPAlert: github.com/varabeis/SP…

来自苹果音乐和反馈的本机警报。包含 Done、Heart&Message 和其他预设。

4.ProgressHUDgithub.com/relatedcode…

ProgressHUD 是一个轻量级的、易于使用的 iOS HUD。

5.MBProgressHUD: github.com/jdg/MBProgr…

6.SVProgressHUD: github.com/SVProgressH…

为您的 iOS 和 tvOS 应用程序提供一个干净、轻量级的进度 HUD。

日历

1.CVCalendar: github.com/CVCalendar/…

iOS 8+的自定义可视日历,以 Swift(>=4.0) 编写。

2.JTAppleCalendar: github.com/patchthecod…

非官方的 Apple iOS Swift 日历视图。Swift 日历库。iOS 日历控件。100%可定制

3.FSCalendar: github.com/WenchaoD/FS…

完全可定制的 iOS 日历库,兼容 Objective-C 和 Swift

4.HorizonCalendar: github.com/airbnb/Hori…

一个声明性、高性能的 iOS 日历 UI 组件,支持从简单的日期选择器到功能齐全的日历应用程序的各种用例。

规范

1.ios-good-practices: github.com/futurice/io…

未来开发者对 iOS 开发的好主意

日志

1.CocoaLumberjack: github.com/CocoaLumber…

针对 Mac 和 iOS 的快速、简单、强大、灵活的日志框架

动画

1.spruce-ios: github.com/willowtreea…

用于在屏幕上编排动画的 Swift 库。

2.awesome-ios-animation: github.com/onmyway133/…

iOS 动画集合

3.Advance: github.com/timdonnelly…

iOS、TVO 和 macOS 的动画库,它使用基于物理的动画(包括弹簧)来驱动真实移动和响应的交互。

4.NVActivityIndicatorView: github.com/ninjaprox/N…

一组很棒的加载动画

5.lottie-ios: github.com/airbnb/lott…

一个 iOS 库,用于本机渲染后效向量动画

6.Hero: github.com/HeroTransit…

iOS 和 tvOS 的优雅过渡库

7.RazzleDazzle: github.com/IFTTT/Razzl…

一个简单的基于关键帧的 iOS 动画框架,用 Swift 编写。非常适合滚动应用程序介绍。

8.ViewAnimatorgithub.com/marcosgrise…

ViewAnimator 只需一行即可使您的 UI 栩栩如生

设计模式

1.Design-Patterns-In-Swift: github.com/ochococo/De…

基于 swift5.0 实现的设计模式

骨架屏

1.TABAnimated: github.com/tigerAndBul…

一个由 iOS 原生组件映射出骨架屏的框架,包含快速植入,低耦合,兼容复杂视图等特点,提供国内主流骨架屏动画的加载方案,同时支持上拉加载更多、自定制动画。

2.SkeletonView: github.com/Juanpe/Skel…

向用户显示正在发生的事情并为他们准备要等待的内容的一种优雅方式

弹窗

1.Sheeeeeeeeet: github.com/danielsaidi…

sheeeet 是一个 Swift 库,用于创建菜单、自定义操作表、上下文菜单等。

2.FFPopup: github.com/JonyFang/FF…

在 iOS 中将自定义视图显示为弹出窗口。

3.STPopup: github.com/kevin0571/S…

STPopup 为 iPhone 和 iPad 提供了 STPopupController,它的工作方式类似于弹出式的 UINavigationController。它是用 Objective-C 编写的,与 Swift 兼容。

4.XLActionController: github.com/xmartlabs/X…

用 Swift 编写的完全可定制和扩展的动作表控制器

5.Sheet: github.com/ParkGwangBe…

带有导航功能(如 Flipboard 应用程序)的操作表

6.WMZDialog: github.com/wwmz/WMZDia…

功能最多样式最多的弹窗,支持普通/微信底部/日期/地区/日历/选择/编辑/分享/菜单/自定义弹窗等,支持多种动画,链式编程调用

7.PopupView: github.com/exyte/Popup…

用 SwiftUI 编写的祝酒词和弹出窗口库

8.SCLAlertView-Swift: github.com/vikmeup/SCL…

美丽的动画警报视图。用 Swift 写的

9.CDAlertView: github.com/candostdagd…

高度定制的 alertview 和用 Swift 编写的 alert/notification/success/error/alarm 弹出窗口

10.alerts-and-pickers: github.com/dillidon/al…

高级使用 UIAlertController 和基于它的选择器:电报,联系人,位置,照片库,国家,电话号码,货币,日期。。。

11.Popover: github.com/corin8823/P…

Popover 是一个类似 Facebook 应用程序的气球库。它是用 swift 写的。

12.BulletinBoard: github.com/alexisakers…

适用于 iOS 的通用上下文卡

13.SwiftEntryKit: github.com/huri000/Swi…

SwiftEntryKit 是一个用 Swift 编写的简单但功能多样的内容呈现器。

图表

1.SwiftCharts: github.com/i-schuetz/S…

易于使用且高度可定制的 iOS 图表库

2.ScrollableGraphView: github.com/philackm/Sc…

iOS 的自适应可滚动图形视图,用于可视化简单的离散数据集。用斯威夫特写的。

3.PNChart: github.com/kevinzhow/P…

swift 版本: github.com/kevinzhow/P…

一个简单而漂亮的图表库,用于 iOS 的 Piner 和 CoinsMan

4.Charts: github.com/danielgindi…

iOS / tvOS / OSX 的精美图表! 跨平台 MPAndroidChart 的 Apple 端。

下载

1.Tiercel: github.com/Danie1s/Tie…

简单易用、功能丰富的纯 Swift 下载框架

聊天

1.NIM_iOS_UIKit: github.com/netease-im/…

网易云信 iOS UI 组件,提供聊天界面,文本消息,图片消息,语音消息,视频消息,地理位置消息,自定义消息(阅后即焚)等消息示例。

分页视图控制器

1.TabPageViewController: github.com/EndouMari/T…

分页视图控制器和滚动选项卡视图

2.Tabman: github.com/uias/Tabman

一个强大的分页视图控制器,带有交互式指示条

3.JXSegmentedViewgithub.com/pujiaxin33/…

腾讯新闻、今日头条、QQ 音乐、网易云音乐、京东、爱奇艺、腾讯视频、淘宝、天猫、简书、微博等所有主流 APP 分类切换滚动视图

4.JXPagingView: github.com/pujiaxin33/…

类似微博主页、简书主页等效果。多页面嵌套,既可以上下滑动,也可以左右滑动切换页面。支持 HeaderView 悬浮、支持下拉刷新、上拉加载更多。

导航栏&菜单

1.BTNavigationDropdownMenu: github.com/PhamBaTho/B…

当用户单击导航标题时,用 Swift 编写的优雅而实用的下拉菜单会出现在导航栏下面,以显示已定义项的列表。

2.SSASideMenu: github.com/SSA111/SSAS…

RESideMenu 的 Swift 实现

3.ENSwiftSideMenu: github.com/evnaz/ENSwi…

使用 Swift 编写的 iOS 的简单侧边菜单。

富文本

1.TwitterTextEditor: github.com/twitter/Twi…

一个独立的、灵活的 API,为 iOS 应用程序提供了一个功能齐全的富文本编辑器。

版本更新

1.Siren: github.com/ArtSabintse…

当应用程序的新版本可用时通知用户并提示他们升级。

二维码

1.EFQRCode: github.com/EFPrefix/EF…

EFQRCode 是一个轻量级的、用来生成和识别二维码的纯 Swift 库,可根据输入的水印图和图标产生艺术二维码,基于 CoreGraphicsCoreImageImageIO 进行开发。EFQRCode 为你提供了一种更好的在你的 App 中操作二维码的方式,它能够运行于 iOS、macOS、watchOS 和 tvOS 平台,并且支持通过 CocoaPods、Carthage 和 Swift Package Manager 获取。

2.swiftScan: github.com/MxABC/swift…

A barcode and qr code scanner( 二维码 各种码识别,生成,界面效果)

通知

1.Whisper: github.com/hyperoslo/W…

Whisper 是一个组件,它可以简化显示消息和应用程序内通知的任务。里面有三种不同的观点

2.NotificationBanner: github.com/Daltron/Not…

在 iOS 中显示高度可定制的应用内通知横幅的最简单方法

3.SwiftMessages: github.com/SwiftKickMo…

一个非常灵活的消息栏为 iOS 写的

4.Toast: github.com/scalessec/T…

一个 Objective-C 类别,用于向 UIView 对象类添加 toast 通知

swift 版本: github.com/scalessec/T…

引导图

1.Instructions: github.com/ephread/Ins…

使用 Swift 以简单的方式创建漫游和导游(coach marks)。

卡片

1.Koloda: github.com/Yalantis/Ko…

KolodaView 是一个旨在简化 iOS 上类似 Tinder 卡的实现的类。类似探探效果

表单

1.Eureka: github.com/xmartlabs/E…

优雅的 iOS 表单生成器

PDF

1.PDFGenerator: github.com/sgr-ksmt/PD…

用 Swift 编写的一个简单的 PDF 生成器。

按钮

1.DOFavoriteButton: github.com/okmr-d/DOFa…

可爱的动画按钮

轮播图

1.SDCycleScrollView: github.com/gsdios/SDCy…

Autoscroll Banner. 无限循环图片、文字轮播器。

2.FSPagerView: github.com/WenchaoD/FS…

FSPagerView 是一个精美的屏幕幻灯片库。 对于制作横幅视图,产品展示,欢迎/指南页面,屏幕/ ViewController 滑块非常有用。

空数据显示

1.DZNEmptyDataSet: github.com/dzenbot/DZN…

一个 UITableView / UICollectionView 的超类类别,用于在视图无内容可显示时显示空数据集。

工具

1.PhoneNumberKit: github.com/marmelroy/P…

用于解析、格式化和验证国际电话号码的快速框架。灵感来自谷歌的 libphonenumber。

2.SwifterSwift: github.com/SwifterSwif…

一个超过 500 个本地 Swift 扩展的方便的集合,以提高您的生产力。

3.CryptoSwift: github.com/krzyzanowsk…

CryptoSwift 是在 Swift 中实现的标准安全加密算法的不断增长的集合

4.SwiftTheme: github.com/wxxsw/Swift…

Powerful theme/skin manager for iOS 9+ 主题/换肤, 暗色模式

5.IQKeyboardManager: github.com/hackiftekha…

键盘上移

6.BRPickerView: github.com/91renb/BRPi…

BRPickerView 封装的是 iOS 中常用的选择器组件,主要包括:日期选择器(支持年月日、年月等 15 种日期样式选择,支持设置星期、至今等)、地址选择器(支持省市区、省市、省三种地区选择)、自定义字符串选择器(支持单列、多列、二级联动、三级联动选择)。支持自定义主题样式,适配深色模式,支持将选择器组件添加到指定容器视图。