IOS框架:合集(上)

原创:知识点总结性文章
创作不易,请珍惜,之后会持续更新,不断完善
个人比较喜欢做笔记和写总结,毕竟好记性不如烂笔头哈哈,这些文章记录了我的IOS成长历程,希望能与大家一起进步
温馨提示:由于简书不支持目录跳转,大家可通过command + F 输入目录标题后迅速寻找到你所需要的内容

目录

  • 一、文本框
    • 1、富文本
    • 2、文本框
    • 3、键盘
    • 4、数字金额
    • 5、日期格式
  • 二、图片
    • 1、图像浏览
    • 2、图像处理
    • 3、图像缓存
    • 4、相册
    • 5、Gif
    • 6、图表
    • 7、全景图
    • 8、表情
    • 9、屏幕截图
  • 三、UI
    • 1、性能优化
    • 2、界面美化
    • 3、表格集合
    • 4、切换页面
    • 5、组件
    • 6、自动布局
    • 7、上下拉刷新
    • 8、弹窗
    • 9、广告和新手引导
    • 10、空白页面
    • 11、付款界面
    • 12、手势
  • 四、NSObject
    • 1、APP架构
    • 2、系统功能
    • 3、开发格式
    • 4、功能块
    • 5、多线程
    • 6、自动生成代码
    • 7、跨平台
    • 8、语言转化
    • 9、通知
    • 10、运行时
  • 五、绘图
    • 1、图表
    • 2、3D
    • 3、画板
  • 六、动画
    • 1、组件动画
    • 2、转场动画
    • 3、自定义动画
    • 4、多媒体动画
    • 5、几何图形动画
  • 七、网络请求
  • 1、请求库
  • 2、客户端库
  • 3、服务端库
  • 4、网页库
  • 5、监控网络状态
  • 6、解析器
  • 八、数据库
    • 1、SQLite
    • 2、CoreData
    • 3、封装
    • 4、后端数据库
    • 5、缓存
    • 6、本地轻数据存储
  • 九、数据安全
    • 1、钥匙
    • 2、授权
    • 3、加密解密
    • 4、逆向工程
    • 5、预防崩溃
    • 6、解锁界面
  • 十、多媒体
    • 1、音频
    • 2、视频播放
    • 3、媒体流
    • 4、视频处理
    • 5、视频录制
    • 6、直播
    • 7、弹幕
    • 8、VR
    • 9、AR
    • 10、相机
    • 11、二维码
    • 12、PDF
    • 13、图像识别
    • 14、游戏
    • 15、机器学习
  • 十一、应用
    • 1、地图
    • 2、聊天
  • 十二、工具
    • 1、性能优化
    • 2、修复Bug
    • 3、测试
    • 4、分享统计推送服务
    • 5、压缩
    • 6、模拟器
    • 7、VPN
    • 8、蓝牙
    • 9、版本适应
    • 10、打包
    • 11、Git
    • 12、Xcode
  • 十三、数据结构与算法
    • 1、数据结构
    • 2、算法
    • 3、数学
  • 十四、平台
    • 1、Watch
    • 2、TV
    • 3、Mac
  • 资源集合
    • 1、开源项目
    • 2、框架列表
    • 3、源代码
    • 4、编程书籍
    • 5、面试
    • 6、知识集
    • 7、Flutter
  • 参考文献

一、文本框

1、富文本

a、Markdown
  • Ink -用Swift编写的快速灵活的Markdown解析器。
  • Marklight.swiftMarkdown语法高亮显示编辑库。
  • MarkdownView:基于WKWebView的UI元素
  • 高亮:主题演讲幻灯片的功能丰富的语法高亮器。
b、HTML
  • DTCoreText:支持富文本的显示如HTML
  • DTCoreText:可以解析HTMLCSS最终用CoreText绘制出来,通常用于在一些需要显示富文本的场景下代替低性能的UIWebView
c、动画效果
  • ShimmerBlingBling闪光效果,酷炫的Label的效果,可以用于加载等待提示,可以让view展示波光粼粼的效果。
  • LTMorphingLabel:能够实现文字变形动画效果的Label,很炫。
  • TTTAttributedLabel:链接文本区域响应
  • Splitflap.swift-:可用于快速给iOS应用创建文字翻转的动画效果。
  • GlitchLabel.swift-:可定制“黑(故障)文字标签”类库,熟称晃瞎你的眼文字标签。
  • 一闪:为字体加上钻石版闪耀的效果 。
  • AutoScrollLabel:文字跑马灯滚动效果
  • LTMorphingLabel:优美变形效果。
  • GBigbang:一个分词功能组件/大爆炸/tagFlowView
d、特殊文本
  • M80AttributedLabelM80AttributedLabel实现文字与表情的混排。一般使用气泡作为背景.功能较齐全的attributed label,支持attributed string和图片、链接、控件的混排
  • ZSSRichTextEditor:编辑器,支持语法高亮和源码查看
  • LTMorphingLabel:很cool 的文字展示
  • YYText:功能强大的 iOS 富文本框架
  • SJAttributesFactory:富文本编辑工厂,让代码更清晰,文本编辑、高度计算等等... 简便操作,让你爽到爆。
  • GRichLabel :支持选择复制,支持自定义选择弹出menu的富文本Label,内部使用YYAsyncLayer提供异步绘制任务。
  • ZSSRichTextEditor:适用于iOS的富文本WYSIWYG编辑器,支持语法高亮和源码查看。ZSSRichTextEditor包含所有WYSIWYG标准的编辑器工具。
  • M80AttributedLabel:实现文字与表情的混排。一般使用气泡作为背景功能较齐全的attributed lable,支持attributed string和图片、链接、控件的混排。
  • Stryng:将字符串带入全新的语法级别
  • AttributedLabel:属性标签
e、字体

2、文本框

3、键盘

  • KeyboardLayoutGuide:管理iOS键盘
  • IQKeyboardManager:零行代码解决键盘上移的问题
  • TPKeyboardAvoiding:有文字输入时,能根据键盘是否弹出来调整自身显示内容的位置
  • AGEmojiKeyboard:表情面版
  • Slidden:自定义键盘的库,利用这个开源库,可以方便的配置键位、颜色以及键位对应的图片
  • WHC_KeyboardManager:iOS平台轻量级的键盘管理器,使用简单功能强大,键盘再也不会挡住输入控件

4、数字金额

数字格式
金额
动画
  • PPCounter:一款简单实用的数字加减动画,支持UILabelUIButton显示

5、日期格式

a、时间
  • DateTools:时间帮助插件,可以快速获取时间,比较,增加等操作
  • 时计:直观的日期处理。
  • 年表:为Swift建立更好的日期/时间库。
  • SRCountdownTimer:一个圆形倒计时查看
  • 时间Swift中类型安全的时间计算,由泛型提供支持
  • DateRangePicker.swift-:可能是目前最好的OS X日期选择器,高扩展性,界面样式看起来很舒服,不过注意,是OS X开发专用。
b、日历

二、图片

1、图像浏览

浏览查看
  • PYPhotoBrowser:浏览图片
  • MediaBrowser:浏览图片和视频
  • NYTPhotoViewer:图片浏览库,支持图片点击缩放,标题,多选,缩放动画等。
  • ImageViewer:模拟Twitter的图片浏览器。
  • SwiftPhotoGallery:一个简单的,全屏显示图片的库,支持缩放,手势,切换关闭,Twitter的关闭样式,包括可自定义的页面指示器等。
  • ZLPhotoBrowser:方便易用的相册多选框架,支持预览/相册内拍照、预览快速多选相片,3DTouch预览照片,单选gifLive Photovideo;相册混合选择;原图功能;支持多语言国际化(中文简/繁,英语,日语);在线下载iCloud端图片;自定义最大选择量及最大预览量;自定义照片升序降序排列;自定义照片显示圆角弧度
  • PYPhotoBrowser: 图片浏览器。主要用于社交app,用于呈现一组图片。流水布局 、 线性布局;单击 、双击 、捏合 、旋转、拖拽、侧滑
  • HZPhotoBrowser: 一个类似于新浪微博图片浏览器的框架(支持显示和隐藏动画;支持双击缩放,手势放大缩小;支持图片存储;支持网络加载gif图片,长图滚动浏览;支持横竖屏显示)
  • LGPhotoBrowser:相册选择/浏览器/照相机(仿微信),包含三个模块:照片浏览器,相册选择器,照相机
  • SKPhotoBrowser:简单的PhotoBrowser / ViewerFacebook启发,swift编写的twitter照片浏览器。
轮播图
  • KJBannerView:轮播图Banner - 无任何第三方依赖、轻量级组件 支持缩放、自带缓存加载 支持自定义继承、定制特定样式 支持网络GIF播放和网络图片和本地图片混合显示轮播 支持在StoryboardXib中创建并配置其属性
  • ImageSlideshow:图片幻灯片和图片轮播器。
  • SDCycleScrollView:轮播图
  • LLCycleScrollView:iOS图片轮播(图片循环播放),支持文本图片结合,支持图片数据的连续加载,支持StoryBoard,支持本地图片显示及与网络图的混合显示。
  • GeminiGemini是基于Swift的基于滚动的丰富动画框架,以Swift编写。
  • SGPagingView:美团、淘宝、京东、微博、腾讯、网易、今日头条等标题滚动视图
特殊命名
  • 灯箱:一个方便的图片查看器。
  • NDAvatar.iOSNDAvatarViews旨在显示用户的个人资料图片,当图片不可用时回退至其首字母缩写
  • Preview-transition.swift:通过向导式代码实现步骤,实现完整,自然流畅的图片预览及转场功能。
  • Agrume:一个图片查看库

2、图像处理

a、滤镜特效
b、图片裁剪
  • RSKImageCropper:适用于iOS的图片裁剪器,类似Contacts app,可上下左右移动图片选取最合适的区域
  • GPUImage2.swift:基于GPU图像和视频处理框架库。
  • TOCropViewController:图片裁剪
  • CLImageEditor:超强的图片编辑库,快速帮你实现旋转,防缩,滤镜等等一系列麻烦的事情
  • Nuke.swift-:完整,强大,实用的图片管理类库,主要功能包括可定制装载,缓存,滤镜及尺寸变换。
  • PinterestSwiftPinterest样式图片缩放,切换示例。
  • SwiftyAvatar-:一个创建圆形图片的UIImageView类。
  • JLStickerTextView-:一个给UIImageView添加一个,多个Label的库,并且可以进行进行编辑,旋转,大小调整。
  • 巨嘴鸟:非常不错的图片处理库,支持图片裁剪,圆角,尺寸调整等。
  • JMRoundedCornerUIView设置不触发离屏渲染的圆角!
c、图片格式
  • SVGKitSVGKit是一个非常强大的,可以快速渲染SVG文件的框架。你可以直接把SVG文件加载至app中,并且SVG中的每个图形会变成一个CAShapeLayer,可以方便地进行缩放和动画你的图形。如果你想渲染app中的矢量图形,SVGKit是个不错的解决办法
  • Concorde:下载和编码JPEG图片。
  • SwiftSVG:支持多种接口(字符串,NS / UIBezierPathCAShapeLayerNS / UIView)替换SVG类库。
d、色彩
  • ComplimentaryGradientView:创建颜色层次和颜色突出显示的库。
  • UIImageColors-:用于UIImageiTunes样式颜色获取程序。
  • Chameleon:可以通过它运用自定义颜色创建调色板
  • IGColorPicker:一个自定义颜色选择器。Swift中可自定义的iOS颜色选择器。
  • RandomColorSwift-:一个自动生成好看的颜色的Swift库。
  • Hue.Swift:颜色常规功能集于一身的定义,使用Color工具类库(含图片取色)。
  • DynamicColor:强大的颜色操作扩展类。通过该类,你可以通过扩展方法基于某个颜色得到不同深浅、饱和度、灰度、色相,以及反转后的新颜色。是不可多得的好类库。

3、图像缓存

  • YYImage:适用于iOS的图像框架,用于显示/编码/解码动画WebPAPNGGIF
  • APNGKit:关于高性能和令人愉悦的方式,可在iOS中使用APNG格式播放。
  • PINRemoteImage: 一个线程安全、高效的远程图片管理库,支持图片下载、缓存、处理,也支持GIF
  • AlamofireImageAlamofire的一个图片组件,支持图片序列化,UIImage扩展(压缩、缩放、圆角、核心图像),单个、多个的图片过滤、自动清除内存,队列图片下载、URL鉴定、图片占位和异步远程图片下载、UIImageView过滤和转换等
  • Twitter Image PiplineTwitter出品的一个高性能的图片下载、缓存库
  • LKImageKit:一个高性能的图像框架,包括一系列功能,例如图像视图,图像下载器,内存缓存,磁盘缓存,图像解码器和图像处理器
  • DFImageManager:图片加载、处理、缓存、预加载
  • SDWebImage:用于异步下载网络上的图片,并支持对图片的缓存等。
  • YYWebImage:加载图片
  • 翠鸟:一个轻量级的纯粹的用于从网络下载和缓存图片的Swift库。
  • HanekeSwift:一个用于iOS的轻量级通用的高速缓存库,使用Swift编写,对图像有特别优化。
  • MapleBacon:一个图片下载,缓存库
  • ImageViewer-:类似Twitter的图片查看器。
  • moa:一个非常棒的图片下载的扩展
  • Nuke:一个强大的图片加载,缓存库。
  • KFSwiftImageLoader:一个高级的轻量级的web图片反相下载和缓存库。
  • ImageLoaderSwift:一个轻量级的快速加载图片的库。
  • ImageScout:一个预知远程图片尺寸的库,支持图片下载,支持PNG,GIF和JPEG。
  • Imaginary:远程图片异步下载,缓存。
  • urlimageSwiftUI中加载异步图像。SwiftUI图像视图,显示从URL下载的图像,缓存和过滤器。
  • [MediaBrowser](https://github.com/younatics/MediaBrowser: —照片/视频浏览器,支持UIImage对象,PHAsset对象,资源库URL,网络图像/视频,本地文件。

4、相册

5、Gif

6、图表

  • Charts:图表开源库
  • PNChart:国内开源作者,动态的图表
  • KLine:(CAShapelayer + UIBezierPath)绘制K线支撑横竖屏切换、刷新、长按、缩放、masonry适配,完美支持金融产品 非常的流畅,占用内存少,使用矢量进行填充K线
  • XJYChart:优秀的的图表框架。支持动画,点击,滑动,区域高亮
  • AAChartKit:极其精美而又强大的 iOS 图表组件库,支持柱状图、条形图、折线图、曲线图、折线填充图、曲线填充图、气泡图、扇形图、环形图、散点图、雷达图、混合图等各种类型的多达几十种的信息图图表
  • YOChartImageKit:支持在watchOS上绘制图表

7、全景图

8、表情

  • SBSAnimoji:该框架在Messages.app中用于记录Animoji视频
  • AnimojiStudio:制作具有无限持续时间的可爱表情符号视频,并可以在任何地方共享
  • Animoji:可以访问私有框架AvatarKit来生成Animoji,就像Messages应用程序一样。

9、屏幕截图

  • 屏幕截图:全屏返回,截图手势返回,景深效果,类似斗鱼,天天快报,腾讯新闻等APP的手势返回。

三、UI

1、性能优化

  • AsyncDisplayKit:将图像解码、布局以及渲染操作放在后台线程,带来更好的用户交互体验的框架。
  • QMUI_iOS:致力于提高项目 UI 开发效率的解决方案
  • IBLinter:用于Interface Builderlinter工具
  • Texture:保持最复杂的用户界面的流畅和响应
  • YYAsyncLayer:用于异步渲染和显示
  • FengNiao-:一个清理Xcode中没使用的资源文件的命令行工具。
  • MetalPetal:基于MetalGPU加速的图像和视频处理框架。

2、界面美化

  • Material:一个用于创建漂亮应用程序的UI / UX框架。
  • Nimbus:提供了一套非常丰富的UI组件,能够实现很多非常炫的界面特效
  • xcbeautify:一个用于xcodebuild的小美化工具。
  • LEETheme:优雅的主题管理库,一行代码完成多样式切换

3、表格集合

a、cell
b、列表样式
c、数据源
  • FunctionalTableData:声明式UITableViewDataSource实现
  • EditDistancetableViewCollectionView数据重载更新效果
  • RxDataSourcesUITableViewUICollectionView数据源
  • YHListKit:一个轻量级的数据驱动列表框架
  • IGListKitIGListKitInstagram推出的新的UICollectionView框架,使用数据驱动,为了构建快速和可扩展的列表。另外,它有助于你在 app 结束对于大量视图控制器的使用.
  • CollectionKit:用于构建可组合的数据驱动的集合视图
d、表单
  • Form:是一个方便开发者创建表单填写工作的 UI 库
  • Eureka.swiftEurekaXLForm 的 Swift 的移植版本,一个可以帮助开发者们快速构建 iOS 各种复杂表单的库,具有较高的可扩展性,方便自定制样式
  • XLForm:很多表格类的table,写法更高冷一点,推荐使用
  • SwiftyFORM:表单输入框架(亮点是表单验证规则引擎),是我见过地最易用的Swift表单组件。
e、scrollView
还有 63% 的精彩内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342