Demos for iOS development.
AssetsLibrary框架的简单demo, AssetsLibrary提供了访问iOS设备的照片应用中的所有照片和视频的接口. 不过, Apple后来推出来PhotoKit, 功能更加强大, 用于取代AssetsLibrary. 请参考博客:
ASIHttpRequest是一个Objective-C的网络请求库, 不过已经停止维护. 现在最流行的网络请求库是AFNetworking. Swift语言有对应的Alamofire.
UIAlertController用于替代UIAlertView, 包含Alert和Action两种样式
iOS的动画Demo, 包含UIView Animation, Layout Animation, KeyFrame Animation, Core Animation, Pop Animation. 请参考博客:
AsyncDisplayKit是Facebook发布的iOS UI框架, 用于实现异步UI的渲染.
iOS设备的电量汇报小工具, 定时向服务端汇报设备电量. 服务端基于Django+MongoDB, 代码MobileDeviceInfoMonitor.
请参考博客:
贝塞尔曲线的基本使用
请参考博客:
请参考博客:
请参考博客:
CAShapeLayer的基本使用
CSSwiftExtension是非常有用的Swift extension集合,支持Swift 3.0. 如何在CocoaPods上发布自己的项目, 请参考博客:
关于UICollectionView, 布局, 及其优化的demo, 待补充. 请参考 DemoUICollectionView
介绍了跨平台的移动端数据库Realm, 包含CoreData与Realm的对比, 以及公司内部分享的Keynote.
请参考博客:
为UIView添加圆角.
自定义的HUD
自定义的UISlider
DZNEmptyDataSet可用于在UITableView的dataSource为空时展示一个精美的提示view
iOS开发中的一些持久化技术的简单Demo, 包括Sandbox, NSUserDefaults, NSKeyedArchiver, CoreData, MagicalRecord, SQLite, FMDB, Realm, Keychain, iCloud. 待补充完整.
FMDB是非常著名的SQLite第三方类库, 对SQLite进行了非常强大的封装.
使用Fabric崩溃收集平台的demo.
使用Flurry统计平台的demo.
包含自定义手势, 可用于实现屏幕手势锁等.
使用UIWebView来展示gif.
使用GoogleAnalytics统计平台的demo.
Hero是一个非常强大的转场动画类库,基于Swift.
请参考博客:
- iOS --- NSURLRequest 和 NSURLConnection 的网络操作
- iOS --- 强大的网络通信类库AFNetworking
- iOS --- 使用RestKit与RESTful web服务器进行简单交互
IQKeyboardManager可用于在键盘弹出时,动态调整输入框的高度.
提供了图片预览的一个UIView,支持pinch缩放和双击缩放.
请参考博客:
一系列滤镜效果
请参考博客:
请参考博客:
请参考博客:
请参考博客:
请参考博客:
MLeaksFinder可用于检测内存泄露
请参考博客:
MagicalRecord是基于Objective-C的CoreData封装类库, 使用非常方便.
Masonry是基于Objective-C的自动布局Auto Layout框架.
Material,在iOS中添加Material Design效果.
请参考博客:
请参考博客:
请参考博客:
NSLinguisticTagger可以将自然语言的字符串标记为单词、确定词性和词根、划分出人名地名和组织名称、告诉你字符串使用的语言和语系.
请参考博客:
请参考博客:
NSUserDefaults可用于持久化一些APP配置信息或用户保存的数据, 再次启动APP或重启设备后这些数据依然存在.
请参考博客:
添加导航栏的头像
请参考博客:
PKHUD也是一个HUD类库.
PNChart可用于绘制一些图表.
PhotoKit框架的简单demo, PhotoKit提供了访问iOS设备的照片应用中的所有照片和视频的接口. 功能更加强大, 用于取代AssetsLibrary. 请参考博客:
PromiseKit用于在Swift代码中执行异步方式的编程.
七牛SDK的简单使用
Reachability可用于测试网络连接情况, 也可以使用AFNetworking.
介绍了跨平台的移动端数据库Realm. 请参考博客:
请参考博客:
一些Runtime的Demo及使用场景. 请参考博客:
- iOS --- 理解Runtime机制及其使用场景
- iOS --- 使用runtime解决3D Touch导致UIImagePicker崩溃的问题
- iOS --- 防止UIButton重复点击的三种实现方式
- iOS --- 如何在Swift项目中使用runtime?
SQLite3数据库的小demo, 待完善.
请参考博客:
请参考博客:
SearchControlelr的简单使用
请参考博客:
请参考博客:
SnapKit是基于Swift语言的自动布局Auto Layout框架, 类似于Masonry.
Social分享框架的demo.
一些Swift的小demo.
Swift 3.0的相关内容.
SwifterSwift是一个Swift extension的集合. 另外,可参考CSSwiftExtension.
请参考博客:
TextFieldEffects提供了非常惊艳的TextField效果
使用ISTimeline的Demo.
一些简单的转场,更完整的版本请参考iOS-TransitionAnimation.
UIActivityIndicatorView的简单使用
请参考博客:
- iOS --- 为UIButton添加setBackgroundColor:forState:方法(包含OC和Swift两个版本) 后来证实:使用runtime会带来一些很tricky的异常问题,如设置UIButton等的image失效。 所以,推荐使用CSSwiftExtension中的一种方式,如下:
btnTest.cs_setBackgroundColor(UIColor.blue, for: .normal) // set backgroundColor
btnTest.cs_setBackgroundColor(UIColor.red, for: .highlighted)
关于iOS中一些手势的demo.
UIImagePicker用于启动系统相机拍照或从系统相册中选取照片.
UIPasteboard可以做到非常强大的功能,如淘宝的淘口令,Pin即对iOS的剪贴板做了非常多的使用场景开发。
请参考博客:
关于UITableView及其优化技巧的一些demo, 待补充.
请参考博客:
请参考博客:
自己试着实现Memory+Disk的图片缓存机制.
iCarousel, 现在可用UICollectionView来实现.
动态计算UICollectionView中的cell高度,使用constraint.
动态计算UICollectionView中的cell高度,使用SnapKit.
简单的 仿豆瓣FM iOS客户端.
简单的 仿新浪新闻 iOS客户端
简单的 仿知乎 iOS客户端