Wrapper
属性包装器(因struct只读,只能用class)
-
监听某个点对点消息,对象释放时自动移除监听,添加多次执行多次
-
监听某个指定对象点对点消息,对象释放时自动移除监听,添加多次执行多次
-
监听某个点对点消息,对象释放时自动移除监听,添加多次执行多次
-
监听某个指定对象点对点消息,对象释放时自动移除监听,添加多次执行多次
-
手工移除某个点对点消息指定监听
-
手工移除某个指定对象点对点消息指定监听
-
手工移除某个指定对象点对点消息指定监听
-
手工移除某个点对点消息所有监听
-
手工移除某个指定对象点对点消息所有监听
-
手工移除所有点对点消息监听
-
发送点对点消息
-
发送点对点消息,附带对象
-
发送点对点消息,附带对象和用户信息
-
发送点对点消息
-
发送点对点消息,附带对象
-
发送点对点消息,附带对象和用户信息
-
监听某个广播通知,对象释放时自动移除监听,添加多次执行多次
-
监听某个指定对象广播通知,对象释放时自动移除监听,添加多次执行多次
-
监听某个广播通知,对象释放时自动移除监听,添加多次执行多次
-
监听某个指定对象广播通知,对象释放时自动移除监听,添加多次执行多次
-
手工移除某个广播通知指定监听
-
手工移除某个指定对象广播通知指定监听
-
手工移除某个指定对象广播通知指定监听
-
手工移除某个广播通知所有监听
-
手工移除某个指定对象广播通知所有监听
-
手工移除所有点对点消息监听
-
发送广播通知,附带对象和用户信息
-
发送广播通知,附带对象和用户信息
-
监听对象某个属性,对象释放时自动移除监听,添加多次执行多次
-
监听对象某个属性,对象释放时自动移除监听,添加多次执行多次
-
手工移除某个属性指定监听
-
手工移除某个属性指定监听
-
手工移除某个属性所有监听
-
手工移除所有属性所有监听
-
获取当前主window,可自定义
-
获取最顶部的视图控制器
-
获取最顶部的导航栏控制器。如果顶部VC不含导航栏,返回nil
-
获取最顶部的显示控制器
-
使用最顶部的导航栏控制器打开控制器
-
使用最顶部的导航栏控制器打开控制器,同时pop指定数量控制器
-
使用最顶部的显示控制器弹出控制器,建议present导航栏控制器(可用来push)
-
使用最顶部的视图控制器打开控制器,自动判断push|present
-
关闭最顶部的视图控制器,自动判断pop|dismiss,返回是否成功
-
自定义工作流名称,支持二级(“."分隔);默认返回小写类名(去掉ViewController、Controller)
-
push新界面,完成时回调
-
pop当前界面,完成时回调
-
pop到指定界面,完成时回调
-
pop到根界面,完成时回调
-
设置界面数组,完成时回调
-
push新界面,同时pop指定数量界面,至少保留一个根控制器,完成时回调
-
pop指定数量界面,0不会pop,至少保留一个根控制器,完成时回调
-
当前最外层工作流名称,即topViewController的工作流名称
-
push控制器,并清理最外层工作流(不属于工作流则不清理)
示例:1、(2、3)、4、(5、6)、(7、8),操作后为1、(2、3)、4、(5、6)、9
-
push控制器,并清理到指定工作流(不属于工作流则清理)
示例:1、(2、3)、4、(5、6)、(7、8),操作后为1、(2、3)、9
-
push控制器,并清理非根控制器(只保留根控制器)
示例:1、(2、3)、4、(5、6)、(7、8),操作后为1、9
-
push控制器,并从外到内清理指定工作流,直到遇到不属于指定工作流的控制器停止
示例:1、(2、3)、4、(5、6)、(7、8),操作后为1、(2、3)、4、9
-
pop方式清理最外层工作流,至少保留一个根控制器(不属于工作流则不清理)
示例:1、(2、3)、4、(5、6)、(7、8),操作后为1、(2、3)、4、(5、6)
-
pop方式清理到指定工作流,至少保留一个根控制器(不属于工作流则清理)
示例:1、(2、3)、4、(5、6)、(7、8),操作后为1、(2、3)
-
pop方式从外到内清理指定工作流,直到遇到不属于指定工作流的控制器停止,至少保留一个根控制器
示例:1、(2、3)、4、(5、6)、(7、8),操作后为1、(2、3)、4
-
获取类方法列表,支持meta类(objc_getMetaClass)
-
获取类属性列表,支持meta类(objc_getMetaClass)
-
获取类Ivar列表,支持meta类(objc_getMetaClass)
-
安全调用方法,如果不能响应,则忽略之
-
安全调用方法,如果不能响应,则忽略之
-
安全调用方法,支持多个参数
-
对super发送消息
-
对super发送消息,可传递参数
-
安全调用内部属性获取方法,如果属性不存在,则忽略之
如果iOS13系统UIView调用部分valueForKey:方法闪退,且没有好的替代方案,可尝试调用此方法
-
安全调用内部属性设置方法,如果属性不存在,则忽略之
如果iOS13系统UIView调用部分valueForKey:方法闪退,且没有好的替代方案,可尝试调用此方法
-
临时对象,强引用,支持KVO
备注:key的几种形式的声明和使用,下同
- 声明:static char kAssociatedObjectKey; 使用:&kAssociatedObjectKey
- 声明:static void *kAssociatedObjectKey = &kAssociatedObjectKey; 使用:kAssociatedObjectKey
- 声明和使用直接用getter方法的selector,如\@selector(xxx)、_cmd
- 声明和使用直接用c字符串,如"kAssociatedObjectKey"
-
读取关联属性
-
设置强关联属性,支持KVO
-
设置赋值关联属性,支持KVO,注意可能会产生野指针
-
设置拷贝关联属性,支持KVO
-
设置弱引用关联属性,支持KVO,OC不支持weak关联属性
-
给对象绑定上另一个对象以供后续取出使用,如果 object 传入 nil 则会清除该 key 之前绑定的对象
-
给对象绑定上另一个弱引用对象以供后续取出使用,如果 object 传入 nil 则会清除该 key 之前绑定的对象
-
取出之前使用 bind 方法绑定的对象
-
给对象绑定上一个 double 值以供后续取出使用
-
取出之前用 bindDouble:forKey: 绑定的值
-
给对象绑定上一个 BOOL 值以供后续取出使用
-
取出之前用 bindBool:forKey: 绑定的值
-
给对象绑定上一个 NSInteger 值以供后续取出使用
-
取出之前用 bindInt:forKey: 绑定的值
-
移除之前使用 bind 方法绑定的对象
-
移除之前使用 bind 方法绑定的所有对象
-
返回当前有绑定对象存在的所有的 key 的数组,数组中元素的顺序是随机的,如果不存在任何 key,则返回一个空数组
-
返回是否设置了某个 key
-
交换类实例方法。复杂情况可能会冲突
-
交换类静态方法。复杂情况可能会冲突
-
交换类实例方法为block实现。复杂情况可能会冲突
swizzleBlock示例:^(__unsafe_unretained UIViewController selfObject, BOOL animated){ ((void()(id, SEL, BOOL))objc_msgSend)(selfObject, swizzleSelector, animated); }
-
交换类静态方法为block实现。复杂情况可能会冲突
swizzleBlock示例:^(__unsafe_unretained Class selfClass, BOOL animated){ ((void(*)(id, SEL, BOOL))objc_msgSend)(selfClass, swizzleSelector, animated); }
-
生成原始方法对应的随机交换方法
-
通用swizzle替换方法为block实现,支持类和对象,identifier有值且相同时仅执行一次。复杂情况不会冲突,推荐使用
Swift实现代码示例: NSObject.fw.swizzleMethod( UIViewController.self, selector: #selector(UIViewController.viewDidLoad) ) { (store: SwizzleStore <@convention© (UIViewController, Selector) -> Void, @convention(block) (UIViewController) -> Void>) in { store.original($0, store.selector) // … }}
-
使用swizzle替换类实例方法为block实现,identifier有值且相同时仅执行一次。复杂情况不会冲突,推荐使用
Swift实现代码示例: NSObject.fw.swizzleInstanceMethod( UIViewController.self, selector: #selector(UIViewController.viewDidLoad), methodSignature: (@convention© (UIViewController, Selector) -> Void).self, swizzleSignature: (@convention(block) (UIViewController) -> Void).self ) { store in { selfObject in store.original(selfObject, store.selector) // … }}
-
使用swizzle替换类静态方法为block实现,identifier有值且相同时仅执行一次。复杂情况不会冲突,推荐使用
-
使用swizzle替换对象实例方法为block实现,identifier相同时仅执行一次。结合isSwizzleInstanceMethod使用
-
判断对象是否使用swizzle替换过指定identifier实例方法。结合swizzleInstanceMethod使用
因为实际替换的是类方法,为了防止影响该类其它对象,需先判断该对象是否替换过,仅替换过才执行自定义流程
-
自定义转场过程中containerView的背景色,默认透明
-
全局启用NavigationBar转场。启用后各个ViewController管理自己的导航栏样式,在viewDidLoad或viewViewAppear中设置即可
-
是否启用导航栏全屏返回手势,默认NO。启用时系统返回手势失效,禁用时还原系统手势。如果只禁用系统手势,设置interactivePopGestureRecognizer.enabled即可
-
导航栏全屏返回手势对象
-
判断手势是否是全局返回手势对象
-
转场动画自定义判断标识,不相等才会启用转场。默认nil启用转场。可重写或者push前设置生效
-
标记转场导航栏样式需要刷新,如果viewDidAppear之前导航栏样式发生了改变,可调用此方法
-
视图控制器是否禁用全屏返回手势,默认NO
-
视图控制器全屏手势距离左侧最大距离,默认0,无限制
-
导航栏背景视图,显示背景色和背景图片等
-
导航栏内容视图,iOS11+才存在,显示item和titleView等
-
导航栏大标题视图,显示时才有值。如果要设置背景色,可使用fwBackgroundView.backgroundColor
-
导航栏大标题高度,与是否隐藏无关
-
应用指定导航栏配置
-
应用指定导航栏样式
-
状态栏样式,默认UIStatusBarStyleDefault,设置后才会生效
-
状态栏是否隐藏,默认NO,设置后才会生效
-
当前导航栏设置,优先级高于style,设置后会在viewWillAppear:自动应用生效
-
当前导航栏样式,默认Default,设置后才会在viewWillAppear:自动应用生效
-
导航栏是否隐藏,默认NO,设置后才会在viewWillAppear:自动应用生效
-
动态隐藏导航栏,如果当前已经viewWillAppear:时立即执行
-
是否允许修改导航栏样式,默认未设置时child控制器不能修改
-
标签栏是否隐藏,默认为NO,立即生效。如果tabBar一直存在,则用tabBar包裹navBar;如果tabBar只存在主界面,则用navBar包裹tabBar
-
工具栏是否隐藏,默认为YES。需设置toolbarItems,立即生效
-
动态隐藏工具栏。需设置toolbarItems,立即生效
-
设置视图布局Bar延伸类型,None为不延伸(Bar不覆盖视图),Top|Bottom为顶部|底部延伸,All为全部延伸
-
视图控制器present|dismiss转场。注意会修改transitioningDelegate,且会强引用之;如需weak引用,请直接设置transitioningDelegate
-
视图控制器push|pop转场,代理导航控制器转场,需在fwNavigationTransition设置后生效
-
自定义控制器present系统转场(蒙层渐变,内容向上动画),会设置fwModalTransition
-
自定义控制器alert缩放转场(蒙层渐变,内容缩放动画),会设置fwModalTransition
-
自定义控制器fade渐变转场(蒙层和内容渐变动画),会设置fwModalTransition;
-
设置iOS13默认present手势下拉dismiss时的回调block,仅iOS13生效,自动触发,手工dismiss不会触发。会自动设置presentationController.delegate
-
自定义控制器popover弹出效果(preferredContentSize设置大小),会自动设置modalPresentationStyle和popoverPresentationController.delegate
-
转场添加到指定控制器(pinEdges占满父视图),返回父容器视图。VC.tabBarController.view > VC.navigationController.view > VC.view
-
包装到转场控制器(pinEdges占满父视图),返回创建的控制器
-
自定义视图模拟present系统转场(蒙层渐变,内容向上动画)
-
自定义视图模拟alert缩放转场(蒙层渐变,内容缩放动画)
-
自定义视图模拟fade渐变转场(蒙层和内容渐变动画)
-
导航控制器push|pop转场。注意会修改delegate,且会强引用之,一直生效直到设置为nil。如需weak引用,请直接设置delegate
-
从json创建对象,线程安全。NSDate会按照UTC时间解析,下同
-
从字典创建对象,线程安全
-
从json创建Model数组
-
从json创建Model字典
-
从json对象设置对象属性
-
从字典设置对象属性
-
转换为json对象
-
转换为json字符串数据
-
转换为json字符串
-
从属性拷贝当前对象
-
对象编码
-
对象解码
-
对象的hash编码
-
比较Model
-
对象描述
-
显示右上角提醒灯,上右偏移指定距离
-
隐藏提醒灯
-
获取UIBarItem(UIBarButtonItem、UITabBarItem)内部的view,通常对于navigationItem和tabBarItem而言,需要在设置为item后并且在bar可见时(例如 viewDidAppear:及之后)获取fwView才有值
-
当item内的view生成后就会调用一次这个block,仅对UIBarButtonItem、UITabBarItem有效
-
获取一个UITabBarItem内显示图标的UIImageView,如果找不到则返回nil
-
-
-
-
初始化布局section配置,在prepareLayout调用即可
-
获取布局section属性,在layoutAttributesForElementsInRect:调用并添加即可
-
抽屉拖拽视图,绑定抽屉拖拽效果后才存在
-
设置抽屉拖拽效果。如果view为滚动视图,自动处理与滚动视图pan手势冲突的问题
@param direction 拖拽方向,如向上拖动视图时为Up,默认向上 @param positions 抽屉位置,至少两级,相对于view父视图的originY位置 @param kickbackHeight 回弹高度,拖拽小于该高度执行回弹 @param positionChanged 抽屉视图位移回调,参数为相对父视图的origin位置和是否拖拽完成的标记 @return 抽屉拖拽视图
-
外部滚动视图是否位于顶部固定位置,在顶部时不能滚动
-
外部滚动视图scrollViewDidScroll调用,参数为固定的位置
-
内嵌滚动视图scrollViewDidScroll调用,参数为外部滚动视图
-
显示骨架屏,指定布局代理
-
显示骨架屏,指定布局句柄
-
显示骨架屏,默认布局代理为self
-
隐藏骨架屏
-
是否正在显示骨架屏
-
绑定统计点击事件,触发管理器。view为添加的Tap手势(需先添加手势),control为TouchUpInside|ValueChanged,tableView|collectionView为Select(需先设置delegate)
-
绑定统计点击事件,仅触发回调。view为添加的Tap手势(需先添加手势),control为TouchUpInside|ValueChanged,tableView|collectionView为Select(需先设置delegate)
-
手工触发统计点击事件,更新点击次数,列表可指定cell和位置,可重复触发
-
绑定统计曝光事件,触发管理器。如果对象发生变化(indexPath|name|object),也会触发
-
绑定统计曝光事件,仅触发回调
-
手工触发统计曝光事件,更新曝光次数和时长,列表可指定cell和位置,duration为单次曝光时长(0表示开始),可重复触发
-
-
-
设置Web加载进度,0和1自动切换隐藏。可设置trackTintColor为clear,隐藏背景色
-
设置Javascript桥接器强引用属性,防止使用过程中被释放
-
获取当前UserAgent,未自定义时为默认,示例:Mozilla/5.0 (iPhone; CPU OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
-
获取默认浏览器UserAgent,包含应用信息,示例:Mozilla/5.0 (iPhone; CPU OS 14_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Safari/605.1.15 Example/1.0.0
-
获取默认浏览器扩展UserAgent,不含平台信息,可用于applicationNameForUserAgent,示例:Mobile/15E148 Safari/605.1.15 Example/1.0.0
-
获取默认请求UserAgent,可用于网络请求,示例:Example/1.0.0 (iPhone; iOS 14.2; Scale/3.00)
-
清空网页缓存,完成后回调。单个网页请求指定URLRequest.cachePolicy即可
-
自定义弹窗插件,未设置时自动从插件池加载
-
显示警告框(简单版)
-
显示警告框(详细版)
-
显示确认框(简单版)
-
显示确认框(详细版)
-
显示输入框(简单版)
-
显示输入框(详细版)
-
showAlert(title:
message: style: cancel: actions: promptCount: promptBlock: actionBlock: cancelBlock: customBlock: ) 显示弹出框(完整版)
-
显示操作表(无动作)
-
显示操作表(简单版)
-
显示操作表(详细版)
-
显示操作表(完整版)
-
手工隐藏弹出框,完成后回调
-
判断是否正在显示弹出框
-
自定义样式,默认为样式单例
-
指定标题颜色
-
快速创建弹出动作,title仅支持NSString
-
快速创建弹出动作,title仅支持NSString,支持appearance
-
弹出框样式,默认为Default
-
设置属性标题
-
设置属性消息
-
快速创建弹出控制器,title和message仅支持NSString
-
快速创建弹出控制器,title和message仅支持NSString,支持自定义样式
-
自定义空界面插件,未设置时自动从插件池加载
-
设置空界面外间距,默认zero
-
是否显示空界面
-
显示空界面加载视图
-
显示空界面,指定文本、详细文本、图片和动作按钮
-
显示空界面,指定文本、详细文本、图片、是否显示加载视图和动作按钮
-
显示空界面,指定文本、详细文本、图片、是否显示加载视图和最多两个动作按钮
-
隐藏空界面
-
空界面代理,默认nil
-
刷新空界面
-
滚动视图自定义浮层,用于显示空界面等,兼容UITableView|UICollectionView
-
是否显示自定义浮层
-
显示自定义浮层,默认不执行渐变动画,自动添加到滚动视图顶部、表格视图底部
-
隐藏自定义浮层,自动从滚动视图移除
-
保存图片或视频到指定的相册
无论用户保存到哪个自行创建的相册,系统都会在“相机胶卷”相册中同时保存这个图片。
- 原因请参考 FWAssetManager 对象的保存图片和视频方法的注释。 无法通过该方法把图片保存到“智能相册”,“智能相册”只能由系统控制资源的增删。
-
-
-
根据 contentType 的值产生一个合适的 PHFetchOptions,并把内容以资源创建日期排序,创建日期较新的资源排在前面
@param contentType 相册的内容类型
@return 返回一个合适的 PHFetchOptions
-
获取所有相册
@param contentType 相册的内容类型,设定了内容类型后,所获取的相册中只包含对应类型的资源 @param showEmptyAlbum 是否显示空相册(经过 contentType 过滤后仍为空的相册) @param showSmartAlbum 是否显示“智能相册”
@return 返回包含所有合适相册的数组
-
获取一个 PHAssetCollection 中创建日期最新的资源
-
图片选择器选择视频时临时文件存放目录,使用完成后需自行删除
-
快速创建照片选择器(仅图片)
@param selectionLimit 最大选择数量,iOS14以下只支持单选 @param allowsEditing 是否允许编辑,仅iOS14以下支持编辑 @param completion 完成回调,主线程。参数1为图片数组,2为结果数组,3为是否取消 @return 照片选择器
-
快速创建照片选择器,可自定义dismiss流程
@param filterType 过滤类型,默认0同系统 @param selectionLimit 最大选择数量,iOS14以下只支持单选 @param allowsEditing 是否允许编辑,仅iOS14以下支持编辑 @param shouldDismiss 是否先关闭照片选择器再回调,如果先关闭则回调参数1为nil @param completion 完成回调,主线程。参数1为照片选择器,2为对象数组(UIImage|PHLivePhoto|NSURL),3位结果数组,4为是否取消 @return 照片选择器
-
快速创建单选照片选择器(仅图片),使用自定义裁剪控制器编辑
@param cropController 自定义裁剪控制器句柄,nil时自动创建默认裁剪控制器 @param completion 完成回调,主线程。参数1为图片,2为结果信息,3为是否取消 @return 照片选择器
-
-
自定义图片选取插件,未设置时自动从插件池加载
-
从Camera选取单张图片(简单版)
-
从Camera选取单张图片(详细版)
-
从图片库选取单张图片(简单版)
-
从图片库选取多张图片(简单版)
-
从图片库选取多张图片(详细版)
-
快速创建单选照片选择器(仅图片),自动设置delegate
@param sourceType 选择器类型 @param allowsEditing 是否允许编辑 @param completion 完成回调。参数1为图片,2为信息字典,3为是否取消 @return 照片选择器,不支持的返回nil
-
快速创建单选照片选择器,可自定义dismiss流程,自动设置delegate
@param sourceType 选择器类型 @param filterType 过滤类型,默认0同系统 @param allowsEditing 是否允许编辑 @param shouldDismiss 是否先关闭照片选择器再回调,如果先关闭则回调参数1为nil @param completion 完成回调。参数1为照片选择器,2为对象(UIImage|PHLivePhoto|NSURL),3为信息字典,4为是否取消 @return 照片选择器,不支持的返回nil
-
快速创建单选照片选择器,使用自定义裁剪控制器编辑
@param sourceType 选择器类型 @param cropController 自定义裁剪控制器句柄,nil时自动创建默认裁剪控制器 @param completion 完成回调。参数1为图片,2为信息字典,3为是否取消 @return 照片选择器,不支持的返回nil
-
根据名称从指定bundle加载UIImage,优先加载图片文件(无缓存),文件不存在时尝试系统imageNamed方式(有缓存)。支持设置图片解码选项
-
从图片文件路径解码创建UIImage,自动识别scale,支持动图
-
从图片数据解码创建UIImage,默认scale为1,支持动图。支持设置图片解码选项
-
从UIImage编码创建图片数据,支持动图。支持设置图片编码选项
-
下载网络图片并返回下载凭据
-
下载网络图片并返回下载凭据,指定option
-
指定下载凭据取消网络图片下载
-
自定义图片插件,未设置时自动从插件池加载
-
当前正在加载的网络图片URL
-
加载网络图片,支持占位和回调,优先加载插件,默认使用框架网络库
-
加载网络图片,支持占位、选项、回调和进度,优先加载插件,默认使用框架网络库
-
取消加载网络图片请求
-
创建动画ImageView视图,优先加载插件,默认UIImageView
-
自定义图片预览插件,未设置时自动从插件池加载
-
显示图片预览(简单版)
-
showImagePreview(imageURLs:
imageInfos: currentIndex: sourceView: placeholderImage: renderBlock: customBlock: ) 显示图片预览(详细版)
-
将要设置的frame按照view的anchorPoint(.5, .5)处理后再设置,而系统默认按照(0, 0)方式计算
-
自定义刷新插件,未设置时自动从插件池加载
-
是否正在刷新中
-
是否显示刷新组件
-
配置下拉刷新句柄
-
配置下拉刷新事件
-
开始下拉刷新
-
结束下拉刷新
-
是否正在追加中
-
是否显示追加组件
-
是否已加载完成,不能继续追加
-
配置上拉追加句柄
-
配置上拉追加事件
-
开始上拉追加
-
结束上拉追加
-
-
-
-
-
-
-
-
-
-
-
-
-
-
自定义吐司插件,未设置时自动从插件池加载
-
设置吐司外间距,默认zero
-
显示加载吐司,默认需手工隐藏,指定cancelBlock时点击会自动隐藏并调用之,支持String和AttributedString
-
隐藏加载吐司
-
是否正在显示加载吐司
-
显示进度条吐司,默认需手工隐藏,指定cancelBlock时点击会自动隐藏并调用之,支持String和AttributedString
-
隐藏进度条吐司
-
是否正在显示进度条吐司
-
显示指定样式消息吐司,自动隐藏,自动隐藏完成后回调,支持String和AttributedString
-
显示指定样式消息吐司,可设置自动隐藏和允许交互,自动隐藏完成后回调,支持String和AttributedString
-
隐藏消息吐司
-
是否正在显示消息吐司
-
设置吐司是否显示在window上,默认NO,显示到view上
-
设置吐司是否显示在祖先视图上,默认NO,显示到view上
-
设置吐司外间距,默认zero
-
显示加载吐司,默认需手工隐藏,指定cancelBlock时点击会自动隐藏并调用之,支持String和AttributedString
-
隐藏加载吐司
-
-
显示进度条吐司,默认需手工隐藏,指定cancelBlock时点击会自动隐藏并调用之,支持String和AttributedString
-
隐藏进度条吐司
-
是否正在显示进度条吐司
-
显示指定样式消息吐司,自动隐藏,自动隐藏完成后回调,支持String和AttributedString
-
显示指定样式消息吐司,可设置自动隐藏和允许交互,自动隐藏完成后回调,支持String和AttributedString
-
隐藏消息吐司
-
是否正在显示消息吐司
-
自定义视图插件,未设置时自动从插件池加载
-
统一进度视图工厂方法
-
统一指示器视图工厂方法
-
统一进度视图工厂方法
-
统一指示器视图工厂方法
-
快速创建指示器,可指定颜色,默认白色
-
快速读取本地化语言
-
快速读取本地化语言,指定Bundle
-
快速读取本地化语言,指定表名和Bundle
-
根据本地化语言加载当前bundle内语言文件,支持动态切换
-
加载当前bundle内指定语言文件,加载失败返回nil
-
读取应用当前语言,如果localizedLanguage存在则返回,否则返回systemLanguage
-
读取应用系统语言,返回preferredLocalizations(支持应用设置,不含区域),示例:zh-Hans|en
-
读取或设置自定义本地化语言,未自定义时为空。(语言值对应本地化文件存在才会立即生效,如zh-Hans|en),为空时清空自定义,会触发通知。默认只处理mainBundle语言,如果需要处理三方SDK和系统组件语言,详见Bundle分类
-
读取本地化字符串,可指定table,strings文件需位于mainBundle,支持动态切换
-
加载指定名称bundle对象,bundle文件需位于mainBundle
-
加载指定类所在bundle对象,可指定子目录名称,一般用于Framework内bundle文件
-
读取指定bundle内strings文件本地化字符串,支持动态切换
-
读取指定bundle内strings文件本地化字符串,指定table,支持动态切换
-
获取当前主题样式对应静态颜色,主要用于iOS13以下兼容主题切换
-
指定主题样式获取对应静态颜色,iOS13+可跟随系统改变
-
是否是主题颜色,仅支持判断使用fwTheme创建的颜色
-
动态创建主题色,分别指定浅色和深色
-
动态创建主题色,指定提供句柄
-
动态创建主题色,指定名称,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃
-
动态创建主题色,指定名称和bundle,兼容iOS11+系统方式(仅iOS13+支持动态颜色)和手工指定。失败时返回clear防止崩溃
-
手工单个注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式
-
手工批量注册主题色,未配置主题色或者需兼容iOS11以下时可使用本方式
-
获取当前主题样式对应静态图片用于显示,iOS13+可跟随系统改变
-
指定主题样式获取对应静态图片用于显示,iOS13+可跟随系统改变
-
是否是主题图片,仅支持判断使用fwTheme创建的图片
-
快速生成当前图片对应的默认主题图片
-
指定主题颜色,快速生成当前图片对应的主题图片
-
创建主题模拟动态图像,指定提供句柄,不支持动态切换,需重新赋值才会变化
-
手工单个注册主题图像,未配置主题图像时可使用本方式
-
手工批量注册主题图像,未配置主题图像时可使用本方式
-
默认主题图片颜色,未设置时为浅色=>黑色,深色=>白色
-
默认主题图片颜色配置句柄,默认nil
-
是否是主题图片资源,仅支持判断使用fwTheme创建的图片资源
-
创建主题动态图片资源,指定提供句柄,内部使用FWThemeObject实现
-
订阅主题通知并指定主题上下文(如vc|view),非UITraitEnvironment等需指定后才能响应系统主题
-
添加iOS13主题改变通知回调,返回订阅唯一标志,需订阅后才生效
-
iOS13根据订阅唯一标志移除主题通知回调
-
iOS13移除所有主题通知回调,一般用于cell重用
-
iOS13主题改变包装器钩子,如果父类有重写,记得调用super,需订阅后才生效
-
设置主题图片资源,自动跟随系统改变,清空时需置为nil,二选一
-
Foundation对象编码为json数据
-
json数据解码为Foundation对象
-
base64编码
-
base64解码
-
转换为UTF8字符串
-
计算长度,中文为1,英文为0.5,表情为2
-
截取字符串,中文为1,英文为0.5,表情为2
-
Unicode中文编码,将中文转换成Unicode字符串(如\u7E8C)
-
Unicode中文解码,将Unicode字符串(如\u7E8C)转换成中文
-
url参数编码,适用于query参数编码
示例:http://test.com?id=我是中文 => http%3A%2F%2Ftest.com%3Fid%3D%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87
-
url参数解码,适用于query参数解码
示例:http%3A%2F%2Ftest.com%3Fid%3D%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87 => http://test.com?id=我是中文
-
url编码,适用于整个url编码
示例:http://test.com?id=我是中文 => http://test.com?id=%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87
-
url解码,适用于整个url解码
示例:http://test.com?id=%E6%88%91%E6%98%AF%E4%B8%AD%E6%96%87 => http://test.com?id=我是中文
-
字典编码为URL参数字符串
-
URL参数字符串解码为字典,支持完整URL
-
md5编码
-
文件md5编码
-
去掉首尾空白字符
-
首字母大写
-
首字母小写
-
驼峰转下划线
-
下划线转驼峰
-
中文转拼音
-
中文转拼音并进行比较
-
是否包含Emoji表情
-
过滤JSON解码特殊字符
兼容\uD800-\uDFFF引起JSON解码报错3840问题,不报错时无需调用 规则:只允许以\uD800-\uDBFF高位开头,紧跟\uDC00-\uDFFF低位;其他全不允许 参考:https://github.com/SBJson/SBJson/blob/trunk/Classes/SBJson5StreamTokeniser.m
-
转换为UTF8数据
-
转换为URL
-
转换为NSNumber
-
从指定位置截取子串
-
截取子串到指定位置
-
截取指定范围的子串
-
生成URL,中文自动URL编码
-
生成URL,中文自动URL编码,支持基准URL
-
获取当前query的参数字典,不含空值
-
获取基准URI字符串,不含path|query|fragment等,包含scheme|host|port等
-
获取路径URI字符串,不含host|port等,包含path|query|fragment等
-
非递归方式获取任意对象的反射字典(含父类直至NSObject,自动过滤_开头属性),不含nil值
-
非递归方式获取当前对象的反射字典(含父类直至NSObject,自动过滤_开头属性),不含nil值
-
-
-
-
-
-
-
-
-
-
图片循环次数,静态图片始终是0,动态图片0代表无限循环
-
是否是动图,内部检查images数组
-
是否是向量图,内部检查isSymbolImage属性,iOS11+支持PDF,iOS13+支持SVG
-
获取图片原始数据格式,未指定时尝试从CGImage获取,获取失败返回FWImageFormatUndefined
-
获取图片数据的格式,未知格式返回FWImageFormatUndefined
-
图片格式转化为UTType,未知格式返回kUTTypeImage
-
UTType转化为图片格式,未知格式返回FWImageFormatUndefined
-
图片格式转化为mimeType,未知格式返回application/octet-stream
-
图片数据编码为base64字符串,可直接用于H5显示等,字符串格式:data:image/png;base64,数据
-
是否是调试模式
-
是否是模拟器
-
是否是iPhone
-
是否是iPad
-
是否是Mac
-
界面是否横屏
-
设备是否横屏,无论支不支持横屏
-
设置界面方向,支持旋转方向时生效
-
iOS系统版本
-
是否是指定iOS主版本
-
是否是大于等于指定iOS主版本
-
设备尺寸,跟横竖屏无关
-
设备宽度,跟横竖屏无关
-
设备高度,跟横竖屏无关
-
设备分辨率,跟横竖屏无关
-
屏幕尺寸
-
屏幕宽度
-
屏幕高度
-
屏幕像素比例
-
判断屏幕英寸
-
是否是全面屏屏幕
-
屏幕一像素的大小
-
屏幕半个点的大小,解决0.5pt失真问题
-
检查是否含有安全区域,可用来判断iPhoneX
-
屏幕安全区域距离
-
状态栏高度,与是否隐藏无关
-
导航栏高度,与是否隐藏无关
-
顶部栏高度,包含状态栏、导航栏,与是否隐藏无关
-
标签栏高度,与是否隐藏无关
-
工具栏高度,与是否隐藏无关
-
指定等比例缩放参考设计图尺寸,默认{375,812},宽度常用
-
获取当前屏幕宽度缩放比例,宽度常用
-
获取当前屏幕高度缩放比例,高度不常用
-
获取相对设计图宽度等比例缩放值
-
获取相对设计图高度等比例缩放值
-
获取相对设计图宽度等比例缩放时的固定宽度值
-
获取相对设计图高度等比例缩放时的固定高度值
-
基于指定的倍数(0取当前设备),对传进来的floatValue进行像素取整
-
是否自动等比例缩放方式设置transform,默认NO
-
当前状态栏布局高度,导航栏隐藏时为0,推荐使用
-
当前导航栏布局高度,隐藏时为0,推荐使用
-
当前顶部栏布局高度,导航栏隐藏时为0,推荐使用
-
当前标签栏布局高度,隐藏时为0,推荐使用
-
当前工具栏布局高度,隐藏时为0,推荐使用
-
当前底部栏布局高度,包含标签栏和工具栏,隐藏时为0,推荐使用
-
从 appearance 里取值并赋值给当前实例,通常在对象的 init 里调用
-
是否启用自动布局适配RTL,启用后自动将Left|Right转换为Leading|Trailing,默认NO
如果项目兼容阿拉伯语等,需要启用RTL从右向左布局,开启此开关即可,无需修改布局代码 手工切换视图左右布局方法:[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;
-
是否全局自动等比例缩放布局,默认NO
启用后所有offset值都会自动*relativeScale,注意可能产生的影响。 启用后注意事项:
- 屏幕宽度约束不能使用screenWidth约束,需要使用375设计标准
- 尽量不使用screenWidth固定屏幕宽度方式布局,推荐相对于父视图布局
- 只会对offset值生效,其他属性不受影响
- 如需特殊处理,可以指定某个视图关闭该功能
-
视图是否自动等比例缩放布局,默认依次查找当前视图及其父视图,都未设置时返回全局开关
-
执行子视图自动布局,自动计算子视图尺寸。需先将视图添加到界面(如设置为tableHeaderView),再调用即可(iOS8+)
-
计算动态布局视图指定宽度时的高度。使用AutoLayout必须约束完整,不使用AutoLayout会调用view的sizeThatFits:方法
-
计算动态布局视图指定高度时的宽度。使用AutoLayout必须约束完整,不使用AutoLayout会调用view的sizeThatFits:方法
-
计算动态AutoLayout布局视图指定宽度时的高度。
注意调用后会重置superview和frame,一般用于未添加到superview时的场景,cell等请使用DynamicLayout
-
计算动态AutoLayout布局视图指定高度时的宽度。
注意调用后会重置superview和frame,一般用于未添加到superview时的场景,cell等请使用DynamicLayout
-
设置水平方向抗压缩优先级
-
设置垂直方向抗压缩优先级
-
设置水平方向抗拉伸优先级
-
设置垂直方向抗拉伸优先级
-
设置视图是否收缩,默认NO,YES时常量值为0,NO时常量值为原始值
-
设置视图是否自动收缩,如image为nil,text为nil、@“"时自动收缩,默认NO
-
设置视图是否隐藏时自动收缩、显示时自动展开,默认NO
-
添加视图的收缩常量,必须先添加才能生效
-
父视图居中,可指定偏移距离
-
父视图属性居中,可指定偏移距离
-
与另一视图居中相同,可指定偏移距离
-
与另一视图居中指定比例
-
与父视图四条边属性相同,可指定insets距离
-
与父视图三条边属性距离指定距离
-
与父视图水平方向两条边属性相同,可指定偏移距离
-
与父视图垂直方向两条边属性相同,可指定偏移距离
-
与父视图边属性相同,可指定偏移距离和关系
-
与指定视图边属性相同,可指定偏移距离和关系
-
父视图安全区域居中,可指定偏移距离。iOS11以下使用Superview实现,下同
-
父视图安全区域属性居中,可指定偏移距离
-
与父视图安全区域四条边属性相同,可指定距离insets
-
与父视图安全区域三条边属性距离指定距离
-
与父视图安全区域水平方向两条边属性相同,可指定偏移距离
-
与父视图安全区域垂直方向两条边属性相同,可指定偏移距离
-
与父视图安全区域边属性相同,可指定偏移距离和关系
-
设置宽高尺寸
-
设置某个尺寸,可指定关系
-
与视图自身尺寸属性指定比例,指定关系
-
与指定视图尺寸属性相同,可指定相差大小和关系
-
与指定视图尺寸属性指定比例,可指定关系
-
与指定视图属性偏移指定距离,指定关系
-
与指定视图属性指定比例,指定关系
-
获取添加的与父视图属性的约束,指定关系
-
获取添加的与父视图安全区域属性的约束,指定关系
-
获取添加的与指定视图属性的约束,指定关系
-
获取添加的与指定视图属性指定比例的约束,指定关系
-
根据唯一标志获取布局约束
-
最近一批添加或更新的布局约束
-
获取当前所有约束
-
移除当前指定约束数组
-
标记是否是相反的约束,一般相对于父视图
-
设置内间距值,如果是相反的约束,会自动取反
-
安全修改优先级,防止iOS13以下已激活约束修改Required崩溃
-
可收缩约束的收缩常量值,默认0
-
可收缩约束的原始常量值,默认为添加收缩约束时的值
-
链式布局对象
-
链式布局闭包
-
是否强制iOS13+启用新版样式,默认false,仅iOS15+才启用
-
设置全局按钮样式属性,nil时系统默认
-
导航栏是否半透明,会重置背景,需优先设置,默认NO;背景色需带有alpha时半透明才会生效
-
设置前景颜色,包含文字和按钮等
-
单独设置标题颜色,nil时显示前景颜色
-
单独设置按钮样式属性,nil时系统默认。仅iOS15+生效,iOS14及以下请使用UIBarButtonItem
-
设置背景颜色(nil时透明),兼容主题颜色,后设置生效
-
设置背景图片(nil时透明),兼容主题图片,后设置生效
-
设置背景是否全透明,默认NO,后设置生效
-
设置阴影颜色(nil时透明),兼容主题颜色,后设置生效
-
设置阴影图片(nil时透明),兼容主题图片,后设置生效
-
设置返回按钮图片,包含图片和转场Mask图片,自动偏移和系统左侧按钮位置保持一致
-
自定义工具栏位置,调用后才生效,会自动设置delegate。Bottom时背景自动向下延伸,TopAttached时背景自动向上延伸
-
主线程安全异步执行句柄
-
创建Timer,使用target-action,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发
-
创建Timer,使用block,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发
-
创建倒计时定时器
-
创建Timer,使用block,需要调用addTimer:forMode:安排到当前的运行循环中(CommonModes避免ScrollView滚动时不触发)。
示例:[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes]
-
创建Timer,使用block,默认模式安排到当前的运行循环中
-
暂停NSTimer
-
开始NSTimer
-
延迟delay秒后开始NSTimer
-
从事件句柄初始化
-
添加事件句柄,返回唯一标志
-
根据唯一标志移除事件句柄
-
移除所有事件句柄
-
获取当前视图添加的第一个点击手势,默认nil
-
添加点击手势事件,可自定义点击高亮句柄等
-
添加点击手势句柄,可自定义点击高亮句柄等
-
根据唯一标志移除点击手势句柄
-
移除所有点击手势
-
添加事件句柄
-
根据唯一标志移除事件句柄
-
移除所有事件句柄
-
添加点击事件
-
添加点击句柄
-
根据唯一标志移除点击句柄
-
移除所有点击句柄
-
使用指定对象和事件创建Item,支持UIImage|NSString|NSNumber|NSAttributedString等
-
使用指定对象和句柄创建Item,支持UIImage|NSString|NSNumber|NSAttributedString等
-
设置当前Item触发句柄,nil时清空句柄
-
快捷设置导航栏标题文字
-
设置导航栏返回按钮,支持UIBarButtonItem|NSString|UIImage等,nil时显示系统箭头,下个页面生效
-
设置导航栏左侧按钮,支持UIBarButtonItem|UIImage等,默认事件为关闭当前页面,下个页面生效
-
设置导航栏右侧按钮,支持UIBarButtonItem|UIImage等,默认事件为关闭当前页面,下个页面生效
-
快捷设置导航栏左侧按钮。注意自定义left按钮之后,系统返回手势失效
-
快捷设置导航栏左侧按钮,block事件。注意自定义left按钮之后,系统返回手势失效
-
快捷设置导航栏右侧按钮
-
快捷设置导航栏右侧按钮,block事件
-
快捷添加导航栏左侧按钮。注意自定义left按钮之后,系统返回手势失效
-
快捷添加导航栏左侧按钮,block事件。注意自定义left按钮之后,系统返回手势失效
-
快捷添加导航栏右侧按钮
-
快捷添加导航栏右侧按钮,block事件
-
如果用来确定Cell所需高度的View是唯一的,请把此值设置为YES,可提升一定的性能
-
最大Y视图的底部内边距,可避免新创建View来撑开Cell,默认0
-
最大Y视图是否撑开布局,需布局约束完整。默认NO,无需撑开布局;YES时padding不起作用
-
免注册创建UITableViewCell,内部自动处理缓冲池,可指定style类型和reuseIdentifier
-
根据配置自动计算cell高度,不使用缓存,子类可重写
-
免注册alloc创建UITableViewHeaderFooterView,内部自动处理缓冲池,指定reuseIdentifier
-
根据配置自动计算cell高度,不使用缓存,子类可重写
-
手工清空高度缓存,用于高度发生变化的情况
-
指定indexPath设置cell高度缓存,如willDisplayCell调用,height为cell.frame.size.height,设置为0时清除缓存
-
指定indexPath获取cell缓存高度,如estimatedHeightForRow调用,默认值automaticDimension
-
指定section设置HeaderFooter高度缓存,如willDisplayHeaderFooter调用,height为view.frame.size.height,设置为0时清除缓存
-
指定section获取HeaderFooter缓存高度,如estimatedHeightForHeaderFooter调用,默认值automaticDimension
-
指定key获取HeaderFooter缓存高度,如estimatedHeightForHeaderFooter调用,默认值automaticDimension
-
获取 Cell 需要的高度,内部无缓存操作
-
获取 Cell 需要的高度,内部自动处理缓存,缓存标识 indexPath
-
获取 HeaderFooter 需要的高度,内部无缓存操作
-
获取 HeaderFooter 需要的高度,内部自动处理缓存,缓存标识 section
-
免注册创建UICollectionViewCell,内部自动处理缓冲池,指定reuseIdentifier
-
根据配置自动计算view大小,子类可重写
-
根据配置自动计算view大小,固定宽度,子类可重写
-
根据配置自动计算view大小,固定高度,子类可重写
-
免注册alloc创建UICollectionReusableView,内部自动处理缓冲池,指定reuseIdentifier
-
根据配置自动计算view大小,子类可重写
-
根据配置自动计算view大小,固定宽度,子类可重写
-
根据配置自动计算view大小,固定高度,子类可重写
-
手工清空尺寸缓存,用于尺寸发生变化的情况
-
指定indexPath设置cell尺寸缓存,设置为zero时清除缓存
-
指定indexPath获取cell缓存尺寸,默认值automaticSize
-
指定section设置ReusableView尺寸缓存,设置为zero时清除缓存
-
指定section获取ReusableView缓存尺寸,默认值automaticSize
-
指定key获取ReusableView缓存尺寸,默认值automaticSize
-
获取 Cell 需要的尺寸,内部无缓存操作
-
获取 Cell 需要的尺寸,固定宽度,内部无缓存操作
-
获取 Cell 需要的尺寸,固定高度,内部无缓存操作
-
获取 Cell 需要的尺寸,内部自动处理缓存,缓存标识 indexPath
-
获取 Cell 需要的尺寸,固定宽度,内部自动处理缓存,缓存标识 indexPath
-
获取 Cell 需要的尺寸,固定高度,内部自动处理缓存,缓存标识 indexPath
-
获取 ReusableView 需要的尺寸,内部无缓存操作
-
获取 ReusableView 需要的尺寸,固定宽度,内部无缓存操作
-
获取 ReusableView 需要的尺寸,固定高度,内部无缓存操作
-
获取 ReusableView 需要的尺寸,内部自动处理缓存,缓存标识 section
-
获取 ReusableView 需要的尺寸,固定宽度,内部自动处理缓存,缓存标识 section
-
获取 ReusableView 需要的尺寸,固定高度,内部自动处理缓存,缓存标识 section
-
使用NSKeyedArchiver压缩对象
-
使用NSKeyedUnarchiver解压数据
-
保存对象归档
-
读取对象归档
-
利用AES加密数据
-
利用AES解密数据
-
利用3DES加密数据
-
利用3DES解密数据
-
RSA公钥加密,数据传输安全,使用默认标签,执行base64编码
-
RSA公钥加密,数据传输安全,可自定义标签,指定base64编码
-
RSA私钥解密,数据传输安全,使用默认标签,执行base64解密
-
RSA私钥解密,数据传输安全,可自定义标签,指定base64解码
-
RSA私钥加签,防篡改防否认,使用默认标签,执行base64编码
-
RSA私钥加签,防篡改防否认,可自定义标签,指定base64编码
-
RSA公钥验签,防篡改防否认,使用默认标签,执行base64解密
-
RSA公钥验签,防篡改防否认,可自定义标签,指定base64解码
-
当前时间戳,没有设置过返回本地时间戳,可同步设置服务器时间戳,同步后调整手机时间不影响
-
从字符串初始化日期,自定义格式(默认yyyy-MM-dd HH:mm:ss)和时区(默认当前时区)
-
转化为字符串,默认当前时区,格式:yyyy-MM-dd HH:mm:ss
-
转化为字符串,自定义格式和时区
-
格式化时长,格式"00:00"或"00:00:00"
-
格式化16位、13位时间戳为10位(秒)
-
是否是闰年
-
是否是同一天
-
添加指定日期,如year:1|month:-1|day:1等
-
与指定日期相隔天数
-
转换为CGFloat
-
四舍五入,去掉末尾0,最多digit位,小数分隔符为.,分组分隔符为空,示例:12345.6789 => 12345.68
-
取上整,去掉末尾0,最多digit位,小数分隔符为.,分组分隔符为空,示例:12345.6789 => 12345.68
-
取下整,去掉末尾0,最多digit位,小数分隔符为.,分组分隔符为空,示例:12345.6789 => 12345.67
-
四舍五入,去掉末尾0,最多digit位,示例:12345.6789 => 12345.68
-
取上整,去掉末尾0,最多digit位,示例:12345.6789 => 12345.68
-
取下整,去掉末尾0,最多digit位,示例:12345.6789 => 12345.67
-
计算多行字符串指定字体、指定属性在指定绘制区域内所占尺寸
-
格式化文件大小为".0K/.1M/.1G"
-
是否匹配正则表达式,示例:^[a-zA-Z0-9_\u4e00-\u9fa5]{4,14}$
-
安全截取字符串。解决末尾半个Emoji问题(半个Emoji调UTF8String为NULL,导致MD5签名等失败)
@param index 目标索引
-
正则搜索子串
@param regex 正则表达式
-
正则替换字符串
@param regex 正则表达式 @param string 替换模板,如"头部$1中部$2尾部“
@return 替换后的字符串
-
正则匹配回调
@param regex 正则表达式 @param block 回调句柄。range从大至小,方便replace
-
转义Html,如"a<“转义为"a<”
-
是否符合验证器
-
是否符合正则表达式 示例:用户名:^[a-zA-Z][a-zA-Z0-9_]{4,13}$ 密码:^[a-zA-Z0-9_]{6,20}$ 昵称:^[a-zA-Z0-9_\u4e00-\u9fa5]{4,14}$
@param regex 正则表达式
-
是否是手机号
-
是否是座机号
-
是否是整数
-
是否是数字
-
是否是合法金额,两位小数点
-
是否是身份证号
-
是否是银行卡号
-
是否是车牌号
-
是否是邮政编码
-
是否是邮箱
-
是否是URL
-
是否是HTML
-
是否是IP
-
是否全是中文
-
是否是合法时间,格式:yyyy-MM-dd HH:mm:ss
-
是否是合法时间戳,格式:1301234567
-
是否是坐标点字符串,格式:latitude,longitude
-
搜索路径
-
沙盒路径,常量
-
文档路径,iTunes会同步备份
-
缓存路径,系统不会删除,iTunes会删除
-
Library路径
-
配置路径,配置文件保存位置
-
临时路径,App退出后可能会删除
-
bundle路径,不可写
-
资源路径,不可写
-
获取目录大小,单位:B
-
NSAttributedString对象转换为html字符串
-
计算所占尺寸,需设置Font等
-
计算在指定绘制区域内所占尺寸,需设置Font等
-
html字符串转换为NSAttributedString对象。如需设置默认字体和颜色,请使用addAttributes方法或附加CSS样式
-
图片转换为NSAttributedString对象,可实现行内图片样式。其中bounds.x会设置为间距,y常用算法:(font.capHeight - image.size.height) / 2.0
-
快速创建NSAttributedString并指定单个高亮部分文字和样式,链接设置NSLinkAttributeName|URL属性即可
-
快速创建NSAttributedString并指定所有高亮部分文字和样式,链接设置NSLinkAttributeName|URL属性即可
-
快速创建NSAttributedString,自定义字体和颜色
-
html字符串转换为NSAttributedString对象,可设置默认系统字体和颜色(附加CSS方式)
-
html字符串转换为NSAttributedString主题对象,可设置默认系统字体和动态颜色,详见FWThemeObject
-
获取颜色对应CSS字符串(rgb|rgba格式)
-
获取系统字体对应CSS字符串(family|style|weight|size)
-
执行加锁(支持任意对象),等待信号量,自动创建信号量
-
执行解锁(支持任意对象),发送信号量,自动创建信号量
-
延迟delay秒后主线程执行,返回可取消的block,对象范围
-
延迟delay秒后后台线程执行,返回可取消的block,对象范围
-
延迟delay秒后指定线程执行,返回可取消的block,对象范围
-
同一个identifier仅执行一次block,对象范围
-
延迟delay秒后主线程执行,返回可取消的block,全局范围
-
延迟delay秒后后台线程执行,返回可取消的block,全局范围
-
延迟delay秒后指定线程执行,返回可取消的block,全局范围
-
取消指定延迟block,全局范围
-
同步方式执行异步block,阻塞当前线程(信号量),异步block必须调用completionHandler,全局范围
-
同一个identifier仅执行一次block,全局范围
-
重试方式执行异步block,直至成功或者次数为0(小于0不限)或者超时(小于等于0不限),完成后回调completion。block必须调用completionHandler,参数示例:重试4次|超时8秒|延迟2秒
-
执行轮询block任务,返回任务Id可取消
-
指定任务Id取消轮询任务
-
生成苹果地图地址外部URL
@param addr 显示地址,格式latitude,longitude或搜索地址 @param options 可选附加参数,如@{@“ll”: @“latitude,longitude”, @“z”: @“14”} @return NSURL
-
生成苹果地图导航外部URL
@param saddr 导航起始点,格式latitude,longitude或搜索地址 @param daddr 导航结束点,格式latitude,longitude或搜索地址 @param options 可选附加参数,如@{@“ll”: @“latitude,longitude”, @“z”: @“14”} @return NSURL
-
生成谷歌地图外部URL,URL SCHEME为:comgooglemaps
@param addr 显示地址,格式latitude,longitude或搜索地址 @param options 可选附加参数,如@{@“center”: @“latitude,longitude”, @“zoom”: @“14”} @return NSURL
-
生成谷歌地图导航外部URL,URL SCHEME为:comgooglemaps
@param saddr 导航起始点,格式latitude,longitude或搜索地址 @param daddr 导航结束点,格式latitude,longitude或搜索地址 @param mode 导航模式,支持driving|transit|bicycling|walking,默认driving @param options 可选附加参数,如@{@“center”: @“latitude,longitude”, @“zoom”: @“14”, @“dirflg”: @“t,h”} @return NSURL
-
生成百度地图外部URL,URL SCHEME为:baidumap
@param addr 显示地址,格式latitude,longitude或搜索地址 @param options 可选附加参数,如@{@“src”: @“app”, @“zoom”: @“14”, @“coord_type”: @“默认gcj02|wgs84|bd09ll”} @return NSURL
-
生成百度地图导航外部URL,URL SCHEME为:baidumap
@param saddr 导航起始点,格式latitude,longitude或搜索地址 @param daddr 导航结束点,格式latitude,longitude或搜索地址 @param mode 导航模式,支持driving|transit|navigation|riding|walking,默认driving @param options 可选附加参数,如@{@“src”: @“app”, @“zoom”: @“14”, @“coord_type”: @“默认gcj02|wgs84|bd09ll”} @return NSURL
-
从standard读取对象,支持unarchive对象
-
保存对象到standard,支持archive对象
-
读取对象,支持unarchive对象
-
保存对象,支持archive对象
-
是否启用键盘管理(自动滚动),默认NO
-
设置输入框和键盘的空白间距,默认10.0
-
设置输入框和键盘的回弹触发最小距离,默认0始终回弹
-
是否启用键盘后台关闭处理,退后台时收起键盘,回到前台时恢复键盘,解决系统退后台输入框跳动问题,默认NO
-
是否启用点击背景关闭键盘(会继续触发其它点击事件),默认NO
-
指定用于键盘管理滚动的scrollView,默认为nil,通过修改VC.view.frame实现
-
点击键盘完成按钮是否关闭键盘,默认NO,二选一
-
设置点击键盘完成按钮是否自动切换下一个输入框,二选一
-
设置点击键盘完成按钮的事件句柄
-
获取关联的键盘Toolbar对象,可自定义样式
-
自定义键盘Toolbar上一个按钮,支持图片|字符串等(详见FWBlock),默认朝上的箭头
-
自定义键盘Toolbar下一个按钮,支持图片|字符串等(详见FWBlock),默认朝下的箭头
-
自定义键盘Toolbar完成按钮,支持图片|字符串等(详见FWBlock),默认Done
-
设置Toolbar点击前一个按钮时聚焦的输入框句柄,默认nil
-
设置Toolbar点击下一个按钮时聚焦的输入框句柄,默认nil
-
设置Toolbar点击前一个按钮时聚焦的输入框tag,默认0不生效
-
设置Toolbar点击下一个按钮时聚焦的输入框tag,默认0不生效
-
自动跳转前一个输入框,优先使用previousResponder,其次根据responderTag查找
-
自动跳转后一个输入框,优先使用nextResponder,其次根据responderTag查找
-
获取键盘弹出时的高度,对应Key为UIKeyboardFrameEndUserInfoKey
-
执行键盘跟随动画,支持AutoLayout,可通过keyboardHeight:获取键盘高度
-
添加Toolbar,指定标题和完成句柄,使用默认按钮
-
添加Toolbar,指定居中标题、左侧上一个、下一个按钮和右边按钮
-
占位文本,默认nil
-
占位颜色,默认系统颜色
-
带属性占位文本,默认nil
-
自定义占位文本内间距,默认zero与内容一致
-
自定义垂直分布方式,会自动修改contentInset,默认Top与系统一致
-
是否启用自动高度功能,随文字改变高度
-
最大高度,默认CGFLOAT_MAX,启用自动高度后生效
-
最小高度,默认0,启用自动高度后生效
-
高度改变回调句柄,默认nil,启用自动高度后生效
-
快捷启用自动高度,并设置最大高度和回调句柄
-
创建CADisplayLink,使用target-action,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发
-
创建CADisplayLink,使用block,自动CommonModes添加到当前的运行循环中,避免ScrollView滚动时不触发
-
创建CADisplayLink,使用block,需要调用addToRunLoop:forMode:安排到当前的运行循环中(CommonModes避免ScrollView滚动时不触发)。
示例:[displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]
-
设置动画开始回调,需要在add之前添加,因为add时会自动拷贝一份对象
-
设置动画停止回调
-
设置主题背景色,启用主题订阅后可跟随系统改变,清空时需置为nil
-
设置主题边框色,启用主题订阅后可跟随系统改变,清空时需置为nil
-
设置主题阴影色,启用主题订阅后可跟随系统改变,清空时需置为nil
-
设置主题内容图片,启用主题订阅后可跟随系统改变,清空时需置为nil
-
设置阴影颜色、偏移和半径
-
移除所有支持动画属性的默认动画,需要一个不带动画的layer时使用
-
生成图片截图,默认大小为frame.size
-
设置主题渐变色,启用主题订阅后可跟随系统改变,清空时需置为nil
-
创建渐变层,需手工addLayer
@param frame 渐变区域 @param colors 渐变颜色,CGColor数组,如[黑,白,黑] @param locations 渐变位置,0~1,如[0.25, 0.5, 0.75]对应颜色为[0-0.25黑,0.25-0.5黑渐变白,0.5-0.75白渐变黑,0.75-1黑] @param startPoint 渐变开始点,设置渐变方向,左上点为(0,0),右下点为(1,1) @param endPoint 渐变结束点 @return 渐变Layer
-
绘制形状路径,需要在drawRect中调用
@param bezierPath 绘制路径 @param strokeWidth 绘制宽度 @param strokeColor 绘制颜色 @param fillColor 填充颜色
-
绘制渐变颜色,需要在drawRect中调用,支持四个方向,默认向下Down
@param rect 绘制区域 @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param direction 渐变方向,自动计算startPoint和endPoint,支持四个方向,默认向下Down
-
绘制渐变颜色,需要在drawRect中调用
@param rect 绘制区域 @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param startPoint 渐变开始点,需要根据rect计算 @param endPoint 渐变结束点,需要根据rect计算
-
添加渐变Layer
@param frame 渐变区域 @param colors 渐变颜色,CGColor数组,如[黑,白,黑] @param locations 渐变位置,0~1,如[0.25, 0.5, 0.75]对应颜色为[0-0.25黑,0.25-0.5黑渐变白,0.5-0.75白渐变黑,0.75-1黑] @param startPoint 渐变开始点,设置渐变方向,左上点为(0,0),右下点为(1,1) @param endPoint 渐变结束点 @return 渐变Layer
-
添加虚线Layer
@param rect 虚线区域,从中心绘制 @param lineLength 虚线的宽度 @param lineSpacing 虚线的间距 @param lineColor 虚线的颜色 @return 虚线Layer
-
添加UIView动画,使用默认动画参数 @note 如果动画过程中需要获取进度,可通过添加CADisplayLink访问self.layer.presentationLayer获取,下同
@param block 动画代码块 @param duration 持续时间 @param completion 完成事件
-
添加UIView动画
@param curve 动画速度 @param transition 动画类型 @param duration 持续时间,默认0.2 @param completion 完成事件
-
添加CABasicAnimation动画
@param keyPath 动画路径 @param fromValue 开始值 @param toValue 结束值 @param duration 持续时间,0为默认(0.25秒) @param completion 完成事件 @return CABasicAnimation
-
添加转场动画,可指定animationsEnabled,一般用于window切换rootViewController
@param option 动画选项 @param block 动画代码块 @param duration 持续时间 @param animationsEnabled 是否启用动画 @param completion 完成事件
-
添加CATransition转场动画 备注:移除动画可调用[self fwRemoveAnimation]
@param type 动画类型 @param subtype 子类型 @param timingFunction 动画速度 @param duration 持续时间,0为默认(0.25秒) @param completion 完成事件 @return CATransition
-
移除单个框架视图动画
-
移除所有视图动画
-
绘制动画
@param layer CAShapeLayer层 @param duration 持续时间 @param completion 完成回调 @return CABasicAnimation
-
水平摇摆动画
@param times 摇摆次数,默认10 @param delta 摇摆宽度,默认5 @param duration 单次时间,默认0.03 @param completion 完成回调
-
渐显隐动画
@param alpha 透明度 @param duration 持续时长 @param completion 完成回调
-
渐变代码块动画
@param block 动画代码块,比如调用imageView.setImage:方法 @param duration 持续时长,建议0.5 @param completion 完成回调
-
旋转动画
@param degree 旋转度数,备注:逆时针需设置-179.99。使用CAAnimation无此问题 @param duration 持续时长 @param completion 完成回调
-
缩放动画
@param scaleX X轴缩放率 @param scaleY Y轴缩放率 @param duration 持续时长 @param completion 完成回调
-
移动动画
@param point 目标点 @param duration 持续时长 @param completion 完成回调
-
移动变化动画
@param frame 目标区域 @param duration 持续时长 @param completion 完成回调
-
取消动画效果执行block
@param block 动画代码块 @param completion 完成事件
-
执行block动画完成后执行指定回调
@param block 动画代码块 @param completion 完成事件
-
是否启用拖动,默认NO
-
拖动手势,延迟加载
-
设置拖动限制区域,默认CGRectZero,无限制
-
设置拖动动作有效区域,默认self.frame
-
是否允许横向拖动(X),默认YES
-
是否允许纵向拖动(Y),默认YES
-
开始拖动回调
-
拖动移动回调
-
结束拖动回调
-
读取应用名称
-
读取应用显示名称,未配置时读取名称
-
读取应用主版本号,示例:1.0.0
-
读取应用构建版本号,示例:1.0.0.1
-
读取应用唯一标识
-
读取应用可执行程序名称
-
读取应用信息字典
-
读取应用启动URL
-
能否打开URL(NSString|NSURL),需配置对应URL SCHEME到Info.plist才能返回YES
-
打开URL,支持NSString|NSURL,完成时回调,即使未配置URL SCHEME,实际也能打开成功,只要调用时已打开过对应App
-
打开通用链接URL,支持NSString|NSURL,完成时回调。如果是iOS10+通用链接且安装了App,打开并回调YES,否则回调NO
-
判断URL是否是系统链接(如AppStore|电话|设置等),支持NSString|NSURL
-
判断URL是否是Scheme链接(非http|https|file链接),支持NSString|NSURL
-
判断URL是否HTTP链接,支持NSString|NSURL
-
判断URL是否是AppStore链接,支持NSString|NSURL
-
打开AppStore下载页
-
打开AppStore评价页
-
打开应用内评价,有次数限制
-
打开系统应用设置页
-
打开系统邮件App
-
打开系统短信App
-
打开系统电话App
-
打开系统分享
-
打开内部浏览器,支持NSString|NSURL,点击完成时回调
-
打开短信控制器,完成时回调
-
打开邮件控制器,完成时回调
-
打开Store控制器,完成时回调
-
打开视频播放器,支持AVPlayerItem|NSURL|NSString
-
打开音频播放器,支持NSURL|NSString
-
播放内置声音文件
-
停止播放内置声音文件
-
播放内置震动
-
播放触控反馈
-
语音朗读文字,可指定语言(如zh-CN)
-
是否是盗版(不是从AppStore安装)
-
是否是Testflight版本
-
获取当前颜色指定透明度的新颜色
-
读取颜色的十六进制值RGB,不含透明度
-
读取颜色的透明度值,范围0~1
-
读取颜色的十六进制字符串RGB,不含透明度
-
读取颜色的十六进制字符串RGBA|ARGB(透明度为1时RGB),包含透明度
-
设置十六进制颜色标准为ARGB|RGBA,启用为ARGB,默认为RGBA
-
获取透明度为1.0的RGB随机颜色
-
从十六进制值初始化,格式:0x20B2AA,透明度默认1.0
-
从十六进制字符串初始化,支持RGB、RGBA|ARGB,格式:@“20B2AA”, @“#FFFFFF",透明度默认1.0,失败时返回clear
-
以指定模式添加混合颜色,默认normal模式
-
当前颜色修改亮度比率的颜色
-
判断当前颜色是否为深色
-
创建渐变颜色,支持四个方向,默认向下Down
@param size 渐变尺寸,非渐变边可以设置为1。如CGSizeMake(1, 50) @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param direction 渐变方向,自动计算startPoint和endPoint,支持四个方向,默认向下Down @return 渐变色
-
创建渐变颜色
@param size 渐变尺寸,非渐变边可以设置为1。如CGSizeMake(1, 50) @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param startPoint 渐变开始点,需要根据rect计算 @param endPoint 渐变结束点,需要根据rect计算 @return 渐变色
-
全局自定义字体句柄,优先调用,返回nil时使用系统字体
-
返回系统Thin字体,自动等比例缩放
-
返回系统Light字体,自动等比例缩放
-
返回系统Regular字体,自动等比例缩放
-
返回系统Medium字体,自动等比例缩放
-
返回系统Semibold字体,自动等比例缩放
-
返回系统Bold字体,自动等比例缩放
-
创建指定尺寸和weight的系统字体,自动等比例缩放
-
获取指定名称、字重、斜体字体的完整规范名称
-
是否是粗体
-
是否是斜体
-
当前字体的粗体字体
-
当前字体的非粗体字体
-
当前字体的斜体字体
-
当前字体的非斜体字体
-
字体空白高度(上下之和)
-
根据字体计算指定倍数行间距的实际行距值(减去空白高度),示例:行间距为0.5倍实际高度
-
根据字体计算指定倍数行高的实际行高值(减去空白高度),示例:行高为1.5倍实际高度
-
计算当前字体与指定字体居中对齐的偏移值
-
从当前图片创建指定透明度的图片
-
从当前UIImage混合颜色创建UIImage,可自定义模式,默认destinationIn
-
缩放图片到指定大小
-
缩放图片到指定大小,指定模式
-
按指定模式绘制图片
-
裁剪指定区域图片
-
指定颜色填充图片边缘
-
拉伸图片(平铺模式),指定端盖区域(不拉伸区域)
-
拉伸图片(指定模式),指定端盖区域(不拉伸区域)。Tile为平铺模式,Stretch为拉伸模式
-
生成圆角图片
-
按角度常数(0~360)转动图片,指定图片尺寸是否延伸来适应内容,否则图片尺寸不变,内容被裁剪,默认true
-
生成mark图片
-
图片合并,并制定叠加图片的起始位置
-
图片应用CIFilter滤镜处理
-
压缩图片到指定字节,图片太大时会改为JPG格式。不保证图片大小一定小于该大小
-
压缩图片到指定字节,图片太大时会改为JPG格式,可设置递减压缩率,默认0.1。不保证图片大小一定小于该大小
-
长边压缩图片尺寸,获取等比例的图片
-
通过指定图片最长边,获取等比例的图片size
-
获取原始渲染模式图片,始终显示原色,不显示tintColor。默认自动根据上下文
-
获取模板渲染模式图片,始终显示tintColor,不显示原色。默认自动根据上下文
-
判断图片是否有透明通道
-
获取当前图片的像素大小,多倍图会放大到一倍
-
从视图创建UIImage,生成截图,主线程调用
-
从颜色创建UIImage,尺寸默认1x1
-
从颜色创建UIImage,可指定尺寸和圆角,默认圆角0
-
从block创建UIImage,指定尺寸
-
保存图片到相册,保存成功时error为nil
-
保存视频到相册,保存成功时error为nil。如果视频地址为NSURL,需使用NSURL.path
-
获取灰度图
-
获取图片的平均颜色
-
倒影图片
-
倒影图片
-
阴影图片
-
获取装饰图片
-
高斯模糊图片,默认模糊半径为10,饱和度为1。注意CGContextDrawImage如果图片尺寸太大会导致内存不足闪退,建议先压缩再调用
-
如果没有透明通道,增加透明通道
-
截取View所有视图,包括旋转缩放效果
-
获取AppIcon图片
-
获取AppIcon指定尺寸图片,名称格式:AppIcon60x60
-
从Pdf数据或者路径创建指定大小UIImage
-
创建渐变颜色UIImage,支持四个方向,默认向下Down
@param size 图片大小 @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param direction 渐变方向,自动计算startPoint和endPoint,支持四个方向,默认向下Down @return 渐变颜色UIImage
-
创建渐变颜色UIImage
@param size 图片大小 @param colors 渐变颜色,CGColor数组,如:@[(bridge id)[UIColor redColor].CGColor, (bridge id)[UIColor blueColor].CGColor] @param locations 渐变位置,传NULL时均分,如:CGFloat locations[] = {0.0, 1.0}; @param startPoint 渐变开始点,需要根据rect计算 @param endPoint 渐变结束点,需要根据rect计算 @return 渐变颜色UIImage
-
顶部纵坐标,frame.origin.y
-
底部纵坐标,frame.origin.y + frame.size.height
-
左边横坐标,frame.origin.x
-
右边横坐标,frame.origin.x + frame.size.width
-
宽度,frame.size.width
-
高度,frame.size.height
-
中心横坐标,center.x
-
中心纵坐标,center.y
-
起始横坐标,frame.origin.x
-
起始纵坐标,frame.origin.y
-
起始坐标,frame.origin
-
大小,frame.size
-
当前生命周期状态,默认Ready
-
生命周期变化时通知句柄,默认nil
-
自定义完成结果对象,默认nil
-
自定义完成句柄,默认nil,dealloc时自动调用,参数为fwCompletionResult。支持提前调用,调用后需置为nil
-
自定义侧滑返回手势VC开关句柄,enablePopProxy启用后生效,仅处理边缘返回手势,优先级低,默认nil
-
自定义控制器返回VC开关句柄,enablePopProxy启用后生效,统一处理返回按钮点击和边缘返回手势,优先级高,默认nil
-
单独启用返回代理拦截,优先级高于+enablePopProxy,启用后支持shouldPopController、allowsPopGesture功能,默认NO未启用
-
全局启用返回代理拦截,优先级低于-enablePopProxy,启用后支持shouldPopController、allowsPopGesture功能,默认NO未启用
-
绘制形状图片,自定义画笔宽度、画笔颜色、填充颜色,填充颜色为nil时不执行填充
-
绘制形状Layer,自定义画笔宽度、画笔颜色、填充颜色,填充颜色为nil时不执行填充
-
根据点计算折线路径(NSValue点)
-
根据点计算贝塞尔曲线路径
-
计算两点的中心点
-
计算两点的贝塞尔曲线控制点
-
将角度(0~360)转换为弧度,周长为2*M_PI*r
-
将弧度转换为角度(0~360)
-
根据滑动方向计算rect的线段起点、终点中心点坐标数组(示范:田)。默认从上到下滑动
-
设置设备token原始Data,格式化并保存
-
获取设备Token格式化后的字符串
-
获取设备模型,格式:"iPhone6,1"
-
获取设备IDFV(内部使用),同账号应用全删除后会改变,可通过keychain持久化
-
获取设备IDFA(外部使用),重置广告或系统后会改变,需先检测广告追踪权限,启用Tracking子模块后生效
-
获取或设置设备UUID,自动keychain持久化。默认获取IDFV(未使用IDFA,避免额外权限),失败则随机生成一个
-
是否越狱
-
本地IP地址
-
本地主机名称
-
手机运营商名称
-
手机蜂窝网络类型,仅区分2G|3G|4G|5G
-
视图是否可见,视图hidden为NO、alpha>0.01、window存在且size不为0才认为可见
-
获取响应的视图控制器
-
设置额外热区(点击区域)
-
设置自动计算适合高度的frame,需实现sizeThatFits:方法
-
计算当前视图适合大小,需实现sizeThatFits:方法
-
计算指定边界,当前视图适合大小,需实现sizeThatFits:方法
-
根据tag查找subview,仅从subviews中查找
-
绘制四边边框
-
绘制四边边框和四角圆角
-
绘制四角圆角
-
绘制单边或多边边框Layer。frame必须存在(添加视图后可调用layoutIfNeeded更新frame)
-
绘制单边或多边边框Layer。frame必须存在(添加视图后可调用layoutIfNeeded更新frame)
-
绘制四边虚线边框和四角圆角。frame必须存在(添加视图后可调用layoutIfNeeded更新frame)
-
绘制单个或多个边框圆角,frame必须存在(添加视图后可调用layoutIfNeeded更新frame)
-
绘制单个或多个边框圆角和四边边框,frame必须存在(添加视图后可调用layoutIfNeeded更新frame)
-
绘制单边或多边边框视图。使用AutoLayout
-
绘制单边或多边边框。使用AutoLayout
-
开始倒计时,从window移除时自动取消,回调参数为剩余时间
-
设置毛玻璃效果,使用UIVisualEffectView。内容需要添加到UIVisualEffectView.contentView
-
移除所有子视图
-
递归查找指定子类的第一个子视图(含自身)
-
递归查找指定条件的第一个父视图(含自身)
-
图片截图
-
Pdf截图
-
自定义视图排序索引,需结合sortSubviews使用,默认0不处理
-
根据sortIndex排序subviews,需结合sortIndex使用
-
设置图片模式为ScaleAspectFill,自动拉伸不变形,超过区域隐藏。可通过appearance统一设置
-
优化图片人脸显示,参考:https://github.com/croath/UIImageView-BetterFace
-
倒影效果
-
图片水印
-
文字水印,指定区域
-
文字水印,指定坐标
-
获取指定索引TabBar根视图控制器(非导航控制器),找不到返回nil
-
获取指定类TabBar根视图控制器(非导航控制器),找不到返回nil
-
获取指定条件TabBar根视图控制器(非导航控制器),找不到返回nil
-
选中并获取指定索引TabBar根视图控制器(非导航控制器),找不到返回nil
-
选中并获取指定类TabBar根视图控制器(非导航控制器),找不到返回nil
-
选中并获取指定条件TabBar根视图控制器(非导航控制器),找不到返回nil
-
快速设置attributedText样式,设置后调用setText:会自动转发到setAttributedText:方法
-
快速设置文字的行高,优先级低于fwTextAttributes,设置后调用setText:会自动转发到setAttributedText:方法。小于0时恢复默认行高
-
自定义内容边距,未设置时为系统默认。当内容为空时不参与intrinsicContentSize和sizeThatFits:计算,方便自动布局
-
添加点击手势并自动识别NSLinkAttributeName|URL属性,点击高亮时回调链接,点击其它区域回调nil
-
获取手势触发位置的文本属性,可实现行内点击效果等,allowsSpacing默认为NO空白处不可点击。为了识别更准确,attributedText需指定font
-
快速设置标签并指定文本
-
快速创建标签并指定文本
-
计算当前属性文本所占尺寸,需frame或者宽度布局完整,attributedText需指定字体
-
全局自定义按钮高亮时的alpha配置,默认0.5
-
全局自定义按钮禁用时的alpha配置,默认0.3
-
自定义按钮禁用时的alpha,如0.3,默认0不生效
-
自定义按钮高亮时的alpha,如0.5,默认0不生效
-
自定义按钮禁用状态改变时的句柄,默认nil
-
自定义按钮高亮状态改变时的句柄,默认nil
-
快速设置文本按钮
-
快速设置文本
-
快速设置图片
-
设置图片的居中边位置,需要在setImage和setTitle之后调用才生效,且button大小大于图片+文字+间距
imageEdgeInsets: 仅有image时相对于button,都有时上左下相对于button,右相对于title titleEdgeInsets: 仅有title时相对于button,都有时上右下相对于button,左相对于image
-
设置状态背景色
-
快速创建文本按钮
-
快速创建图片按钮
-
设置按钮倒计时,从window移除时自动取消。等待时按钮disabled,非等待时enabled。时间支持格式化,示例:重新获取(%lds)
-
判断当前scrollView内容是否足够滚动
-
判断当前的scrollView内容是否足够水平滚动
-
判断当前的scrollView内容是否足够纵向滚动
-
当前scrollView滚动到指定边
-
是否已滚动到指定边
-
获取当前的scrollView滚动到指定边时的contentOffset(包含contentInset)
-
总页数,自动识别翻页方向
-
当前页数,不支持动画,自动识别翻页方向
-
设置当前页数,支持动画,自动识别翻页方向
-
是否是最后一页,自动识别翻页方向
-
快捷设置contentOffset.x
-
快捷设置contentOffset.y
-
设置自动布局视图悬停到指定父视图固定位置,在scrollViewDidScroll:中调用即可
@param view 需要悬停的视图,须占满fromSuperview @param fromSuperview 起始的父视图,须是scrollView的子视图 @param toSuperview 悬停的目标视图,须是scrollView的父级视图,一般控制器self.view @param toPosition 需要悬停的目标位置,相对于toSuperview的originY位置 @return 相对于悬浮位置的距离,可用来设置导航栏透明度等
-
是否开始识别pan手势
-
是否允许同时识别多个手势
-
是否另一个手势识别失败后,才能识别pan手势
-
是否pan手势识别失败后,才能识别另一个手势
-
获取手势直接作用的view,不同于view,此处是view的subview
-
是否正在拖动中:Began || Changed
-
是否是激活状态: isEnabled && (Began || Changed)
-
判断手势是否正作用于指定视图
-
当前滑动方向,如果多个方向滑动,取绝对值较大的一方,失败返回0
-
当前滑动进度,滑动绝对值相对于手势视图的宽或高
-
计算指定方向的滑动进度
-
自定义圆点大小,默认{10, 10}
-
中间圆球的大小,默认zero
-
中间圆球的颜色,默认nil
-
最大字数限制,0为无限制,二选一
-
最大Unicode字数限制(中文为1,英文为0.5),0为无限制,二选一
-
自定义文字改变处理句柄,自动trimString,默认nil
-
文本长度发生改变,自动检测字数限制,用于代码设置text等场景
-
获取满足最大字数限制的过滤后的文本,无需再调用textLengthChanged
-
设置自动完成时间间隔,默认0.5秒,和autoCompleteBlock配套使用
-
设置自动完成处理句柄,自动trimString,默认nil,注意输入框内容为空时会立即触发
-
是否禁用长按菜单(拷贝、选择、粘贴等),默认NO
-
自定义光标大小,不为0才会生效,默认zero不生效
-
获取及设置当前选中文字范围
-
移动光标到最后
-
移动光标到指定位置,兼容动态text赋值
-
全局清空TableView默认多余边距
-
是否启动高度估算布局,启用后需要子视图布局完整,无需实现heightForRow方法(iOS11默认启用,会先cellForRow再heightForRow)
-
清除Grouped等样式默认多余边距,注意CGFLOAT_MIN才会生效,0不会生效
-
reloadData完成回调
-
reloadData禁用动画
-
设置分割线内边距,iOS8+默认15.f,设为UIEdgeInsetsZero可去掉
-
获取当前所属tableView
-
获取当前显示indexPath
-
获取当前所属collectionView
-
自定义取消按钮边距,未设置时为系统默认
-
输入框内部视图
-
取消按钮内部视图,showsCancelButton开启后才存在
-
设置输入框背景色
-
设置搜索图标离左侧的偏移位置,非居中时生效
-
设置搜索文本离左侧图标的偏移位置
-
设置TextField搜索图标(placeholder)是否居中,否则居左
-
强制取消按钮一直可点击,需在showsCancelButton设置之后生效。默认SearchBar失去焦点之后取消按钮不可点击
-
判断当前控制器是否是根控制器。如果是导航栏的第一个控制器或者不含有导航栏,则返回YES
-
判断当前控制器是否是子控制器。如果父控制器存在,且不是导航栏或标签栏控制器,则返回YES
-
判断当前控制器是否是present弹出。如果是导航栏的第一个控制器且导航栏是present弹出,也返回YES
-
判断当前控制器是否是iOS13+默认pageSheet弹出样式。该样式下导航栏高度等与默认样式不同
-
获取祖先视图,标签栏存在时为标签栏根视图,导航栏存在时为导航栏根视图,否则为控制器根视图
-
是否已经加载完数据,默认NO,加载数据完成后可标记为YES,可用于第一次加载时显示loading等判断
-
移除子控制器,解决不能触发viewWillAppear等的bug
-
添加子控制器到当前视图,解决不能触发viewWillAppear等的bug
-
添加子控制器到指定视图,解决不能触发viewWillAppear等的bug