Classes
The following classes are available globally.
-
全局包装器
自定义WrapperGlobal为任意名称(如APP)示例:
public typealias APP = WrapperGlobal
使用示例:
See moreAPP.safeString(object)
Declaration
Swift
public class WrapperGlobal
-
自动加载器,处理swift不支持load方法问题
本方案采用objc扩展方法实现,相对于全局扫描类方案性能高,使用简单,使用方法: 新增Autoloader objc扩展,以load开头且无参静态方法即会自动调用,方法名建议[load模块名_文件名|类名]
See moreDeclaration
Swift
@objc(ObjCAutoloader) public class Autoloader : NSObject, AutoloadProtocol, @unchecked Sendable
-
配置基类,使用时继承即可
默认自动查找模板类名格式优先级如下:
- 当前模块.[配置类]+Template
- 主项目.[配置类]+Template
- 当前模块.[配置类]+DefaultTemplate
Declaration
Swift
@objc(ObjCConfiguration) open class Configuration : NSObject
-
配置模板基类,使用时继承即可
See moreDeclaration
Swift
@objc(ObjCConfigurationTemplate) open class ConfigurationTemplate : NSObject, ConfigurationTemplateProtocol
-
Declaration
Swift
public class ErrorManager : @unchecked Sendable
-
通用加载器,添加处理句柄后指定输入即可加载输出结果,如需比较请使用“==="或ObjectIdentifier即可
See moreDeclaration
Swift
public class Loader<Input, Output> : @unchecked Sendable
-
日志记录类。支持设置全局日志级别和自定义LoggerPlugin插件
See moreDeclaration
Swift
@objc(ObjCLogger) public class Logger : NSObject
-
NSLog日志插件,兼容FWDebug等组件
See moreDeclaration
Swift
public class LoggerPluginNSLog : NSObject, LoggerPlugin, @unchecked Sendable
-
OSLog日志插件
See moreDeclaration
Swift
public class LoggerPluginOSLog : NSObject, LoggerPlugin, @unchecked Sendable
-
日志插件管理器,默认使用NSLog
See moreDeclaration
Swift
public class LoggerPluginImpl : NSObject, LoggerPlugin, @unchecked Sendable
-
插件管理器类。支持插件冷替换(使用插件前)和热替换(先释放插件)
和Mediator对比如下: Plugin:和业务无关,侧重于工具类、基础设施、可替换,比如Toast、Loading等 Mediator: 和业务相关,侧重于架构、业务功能、模块化,比如用户模块,订单模块等
See moreDeclaration
Swift
public class PluginManager : @unchecked Sendable
-
弱引用代理类,用于解决NSTimer等循环引用target问题(默认NSTimer会强引用target,直到invalidate)
See moreDeclaration
Swift
@objc(ObjCWeakProxy) public class WeakProxy : NSObject
-
事件协议代理基类,可继承重写事件代理方法
See moreDeclaration
Swift
open class DelegateProxy<T> : NSObject
-
弱引用值容器类,用于解决关联值weak引用问题
See moreDeclaration
Swift
public class WeakValue : @unchecked Sendable
-
Sendable值容器类,用于解决任意值Sendable传参问题
See moreDeclaration
Swift
public class SendableValue<T> : @unchecked Sendable
-
多代理转发类
See moreDeclaration
Swift
public class MulticastDelegate<T>
-
状态类
See moreDeclaration
Swift
public class StateObject : @unchecked Sendable
-
状态事件类
See moreDeclaration
Swift
public class StateEvent : @unchecked Sendable
-
状态转换器
See moreDeclaration
Swift
public class StateTransition : @unchecked Sendable
-
Declaration
Swift
public class StateMachine : @unchecked Sendable
-
方法交换存储器
MethodSignature示例:(@convention© (NSObject, Selector) -> Void).self SwizzleSignature示例:(@convention(block) (NSObject) -> Void).self
See moreDeclaration
Swift
public class SwizzleStore<MethodSignature, SwizzleSignature> : @unchecked Sendable
-
任务操作类,可继承或直接使用
See moreDeclaration
Swift
open class TaskOperation : Operation, @unchecked Sendable
-
任务管理器,兼容NSBlockOperation和NSInvocationOperation
See moreDeclaration
Swift
open class TaskManager : @unchecked Sendable
-
单元测试用例基类,所有单元测试用例必须继承。注意测试方法需标记objc,让OC可以访问
测试类命名建议模块+单元格式:TestCase_module_name,测试方法命名规则如下: 同步测试:test开头无参方法,无需调用assertFinished 异步测试:testAsync开头无参方法,必须调用assertFinished
See moreDeclaration
Swift
open class TestCase : NSObject, @unchecked Sendable
-
单元测试启动器,调试模式启动时自动执行automatic测试套件
See moreDeclaration
Swift
public class UnitTest : CustomDebugStringConvertible, @unchecked Sendable
-
os_unfair_lock包装锁
See moreDeclaration
Swift
public final class UnfairLock : LockingProtocol
-
DispatchSemaphore包装锁
See moreDeclaration
Swift
public final class SemaphoreLock : LockingProtocol
-
弹窗配置类
See moreDeclaration
Swift
open class PopupConfiguration
-
Declaration
Swift
@MainActor open class TabBarController : UITabBarController, TabBarDelegate
-
FWTabBar是高度自定义的UITabBar子类,通过添加UIControl的方式实现自定义tabBarItem的效果。目前支持tabBar的大部分属性的设置,例如delegate,items,selectedImge,itemPositioning,itemWidth,itemSpacing等,以后会更加细致的优化tabBar原有属性的设置效果。
See moreDeclaration
Swift
@MainActor open class TabBar : UITabBar
-
FWTabBarItem inherits from UITabBarItem, the purpose is to provide UITabBarItem property settings for FWTabBarItemContentView. Support most commonly used attributes, such as image, selectedImage, title, tag etc.
Unsupport properties: MARK: UIBarItem properties 1. var landscapeImagePhone: UIImage? 2. var imageInsets: UIEdgeInsets 3. var landscapeImagePhoneInsets: UIEdgeInsets 4. func setTitleTextAttributes(_ attributes: [String : Any]?, for state: UIControlState) 5. func titleTextAttributes(for state: UIControlState) -> [String : Any]? MARK: UITabBarItem properties 1. func setBadgeTextAttributes(_ textAttributes: [String : Any]?, for state: UIControlState) 2. func badgeTextAttributes(for state: UIControlState) -> [String : Any]?
See moreDeclaration
Swift
@MainActor open class TabBarItem : UITabBarItem
-
Undocumented
See moreDeclaration
Swift
@MainActor open class TabBarItemContentView : UIView
-
Undocumented
See moreDeclaration
Swift
@MainActor open class TabBarItemMoreContentView : TabBarItemContentView
-
FWTabBarItemBadgeView 这个类定义了item中使用的badge视图样式,默认为FWTabBarItemBadgeView类对象。 你可以设置FWTabBarItemContentView的badgeView属性为自定义的FWTabBarItemBadgeView子类,这样就可以轻松实现 自定义通知样式了。
See moreDeclaration
Swift
@MainActor open class TabBarItemBadgeView : UIView
-
视图控制器拦截器
See moreDeclaration
Swift
public class ViewControllerIntercepter : NSObject
-
Declaration
Swift
public class ViewControllerManager : NSObject, @unchecked Sendable
-
Declaration
Swift
@MainActor open class AttributedLabel : UIView
-
Undocumented
See moreDeclaration
Swift
open class AttributedLabelURL : NSObject
-
Undocumented
See moreDeclaration
Swift
open class AttributedLabelURLDetector : NSObject, AttributedLabelURLDetectorProtocol, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
@MainActor open class AttributedLabelAttachment : NSObject
-
提醒灯视图,默认禁用userInteractionEnabled,使用非等比例缩放布局
See moreDeclaration
Swift
@MainActor open class BadgeView : UIView, BadgeViewProtocol
-
Declaration
Swift
@MainActor open class BannerView : UIView, UICollectionViewDataSource, UICollectionViewDelegate
-
BannerView流式布局
See moreDeclaration
Swift
@MainActor open class BannerViewFlowLayout : UICollectionViewFlowLayout
-
Banner视图默认Cell
See moreDeclaration
Swift
@MainActor open class BannerViewCell : UICollectionViewCell
-
集合视图流式布局,支持纵向渲染和分页滚动效果
系统FlowLayout水平滚动时默认横向渲染,可通过本类开启纵向渲染,示例效果如下: [0 3 6 9 ] [0 1 2 3 ] [1 4 7 10] => [4 5 6 7 ] [2 5 8 11] [8 9 10 11]
See moreDeclaration
Swift
@MainActor open class CollectionViewFlowLayout : UICollectionViewFlowLayout
-
Declaration
Swift
@MainActor open class CollectionViewWaterfallLayout : UICollectionViewLayout
-
常用集合视图数据源和事件代理,可继承
See moreDeclaration
Swift
@MainActor open class CollectionViewDelegate : DelegateProxy<UICollectionViewDelegate>, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
-
通用布局section配置类
See moreDeclaration
Swift
open class CollectionViewSectionConfig : NSObject
-
抽屉拖拽视图
See moreDeclaration
Swift
@MainActor open class DrawerView : NSObject, UIGestureRecognizerDelegate, UIScrollViewDelegate
-
简易的跑马灯 label 控件,在文字超过 label 可视区域时会自动开启跑马灯效果展示文字,文字滚动时是首尾连接的效果(参考播放音乐时系统锁屏界面顶部的音乐标题)。
lineBreakMode 默认为 NSLineBreakByClipping(UILabel 默认值为 NSLineBreakByTruncatingTail)。 textAlignment 暂不支持 NSTextAlignmentJustified 和 NSTextAlignmentNatural。 会忽略 numberOfLines 属性,强制以 1 来展示。
See moreDeclaration
Swift
@MainActor open class MarqueeLabel : UILabel
-
Declaration
Swift
@MainActor open class PageControl : UIControl
-
自带点视图
See moreDeclaration
Swift
@MainActor open class DotView : UIView, DotViewProtocol
-
通用可重用视图缓存池,可继承
使用方式如下,代码示例详见WebView:
- 应用启动完成时配置全局重用初始化句柄并调用enqueueReusableView(with: ReusableViewType.self)预加载第一个视图
- 重用视图初始化时调用:let reusableView = ReusableViewPool.shared.dequeueReusableView(with: ReusableViewType.self, viewHolder: self)
- 在需要预加载的场景中调用:reusableView.fw.preloadReusableView() 预加载下一个视图
- 在需要回收到缓存池时(一般控制器deinit)调用:ReusableViewPool.shared.enqueueReusableView(reusableView)
Declaration
Swift
open class ReusableViewPool : NSObject
-
二维码、条形码扫描,默认仅开启二维码
不建议同时开启二维码和条形码,因为开启后条形码很难识别且只有中心位置可识别。 默认二维码类型示例:[.qr] 默认条形码类型示例:[.code39, .code39Mod43, .code93, .code128, .ean8, .ean13, .upce, .interleaved2of5]
See moreDeclaration
Swift
open class ScanCode : NSObject, AVCaptureMetadataOutputObjectsDelegate, AVCaptureVideoDataOutputSampleBufferDelegate, @unchecked Sendable
-
常用表格视图数据源和事件代理,可继承
See moreDeclaration
Swift
@MainActor open class TableViewDelegate : DelegateProxy<UITableViewDelegate>, UITableViewDelegate, UITableViewDataSource
-
Declaration
Swift
@MainActor open class TagCollectionView : UIView
-
Undocumented
See moreDeclaration
Swift
open class TextTagConfig : NSObject, NSCopying
-
Undocumented
See moreDeclaration
Swift
@MainActor open class TextTagCollectionView : UIView, TagCollectionViewDataSource, TagCollectionViewDelegate
-
自定义工具栏视图,使用非等比例缩放布局,高度自动布局(总高度toolbarHeight),可设置toolbarHidden隐藏(总高度0)
根据toolbarPosition自动设置默认高度,可自定义,如下: 顶部:topView,高度为topHeight,可设置topHidden隐藏 中间:menuView,高度为menuHeight,可设置menuHidden隐藏 底部:bottomView,高度为bottomHeight,可设置bottomHidden隐藏
See moreDeclaration
Swift
@MainActor open class ToolbarView : UIView
-
自定义工具栏菜单视图,使用非等比例缩放布局,支持完全自定义,默认最多只支持左右各两个按钮,如需更多按钮,请自行添加。
水平分割时,按钮水平等分;非水平分割时,左右侧间距为8,同系统一致
See moreDeclaration
Swift
@MainActor open class ToolbarMenuView : UIView
-
可作为导航栏标题控件,使用非等比例缩放布局,通过 navigationItem.titleView 来设置。也可当成单独的标题组件,脱离 UIViewController 使用
默认情况下 titleView 是不支持点击的,如需点击,请把
See moreuserInteractionEnabled
设为YES
QMUI_iOSDeclaration
Swift
@MainActor open class ToolbarTitleView : UIControl, TitleViewProtocol
-
自定义工具栏按钮,使用非等比例缩放布局,兼容系统customView方式和自定义方式
UIBarButtonItem自定义导航栏时最左和最右间距为16,系统导航栏时为8; ToolbarButton作为customView使用时,会自动调整按钮内间距,和系统表现一致; ToolbarButton自动适配横竖屏切换,竖屏时默认内间距{8, 8, 8, 8},横屏时默认内间距{0,8,0,8}
See moreDeclaration
Swift
@MainActor open class ToolbarButton : UIButton
-
扩展titleView,可继承,用于navigationItem.titleView需要撑开的场景
组件自动兼容各版本系统titleView左右间距(默认16),具体差异如下: iOS16+:系统titleView左右最小间距为16,组件默认处理为16 iOS15-:系统titleView左右最小间距为8,组件默认处理为16 注意:扩展区域不可点击,如需点击,可使用isPenetrable实现
See moreDeclaration
Swift
@MainActor open class ExpandedTitleView : UIView
-
常用滚动视图事件代理,可继承
See moreDeclaration
Swift
@MainActor open class ScrollViewDelegate : DelegateProxy<UIScrollViewDelegate>, UIScrollViewDelegate
-
常用TextField事件代理,可继承
See moreDeclaration
Swift
@MainActor open class TextFieldDelegate : DelegateProxy<UITextFieldDelegate>, UITextFieldDelegate
-
常用TextView事件代理,可继承
See moreDeclaration
Swift
@MainActor open class TextViewDelegate : DelegateProxy<UITextViewDelegate>, UITextViewDelegate
-
常用SearchBar事件代理,可继承
See moreDeclaration
Swift
@MainActor open class SearchBarDelegate : DelegateProxy<UISearchBarDelegate>, UISearchBarDelegate
-
转场动画类,默认透明度变化
See moreDeclaration
Swift
@MainActor open class AnimatedTransition: UIPercentDrivenInteractiveTransition, UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegate, UINavigationControllerDelegate
-
滑动转场动画类,默认上下
See moreDeclaration
Swift
@MainActor open class SwipeAnimatedTransition : AnimatedTransition
-
形变转场动画类,默认缩放
See moreDeclaration
Swift
@MainActor open class TransformAnimatedTransition : AnimatedTransition
-
自定义展示控制器。默认显示暗色背景动画且弹出视图占满容器,可通过属性自定义
See moreDeclaration
Swift
@MainActor open class PresentationController : UIPresentationController
-
自动处理与滚动视图pan手势在指定方向的冲突,默认设置delegate为自身。如果找到滚动视图则处理之,否则同父类
See moreDeclaration
Swift
@MainActor open class PanGestureRecognizer : UIPanGestureRecognizer, UIGestureRecognizerDelegate
-
WKWebView封装,默认实现进度条、JS弹窗、Cookie管理、自定义User-Agent等
备注:
- 如需实现加载离线资源等场景,请使用configuration.setURLSchemeHandler
- 第一次加载可携带自定义Header,如果存在重定向,Header里面的Authorization因安全策略会丢失。解决方法示例:可新增Header比如X-Authorization,重定向时不会丢失
- 后续非首次加载自定义Header会丢失,解决方法示例:通过JSBridge桥接获取授权信息或采用GET参数|cookie储存等
- 如果遇到Cookie丢失问题,可尝试开启cookieEnabled或自行设置Cookie等
Declaration
Swift
@MainActor open class WebView : WKWebView
-
Declaration
Swift
public class WebViewCookieManager : NSObject
-
WKWebView实现Javascript桥接器
参考链接: WKWebViewJavascriptBridge
Javascript示例: (兼容FWFramework/[WK]WebViewJavascriptBridge)
See morefunction setupWebViewJavascriptBridge(callback) { if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.iOS_Native_InjectJavascript) { if (window.WKWebViewJavascriptBridge) { return callback(WKWebViewJavascriptBridge); } if (window.WKWVJBCallbacks) { return window.WKWVJBCallbacks.push(callback); } window.WKWVJBCallbacks = [callback]; window.webkit.messageHandlers.iOS_Native_InjectJavascript.postMessage(null); return; } if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } window.WVJBCallbacks = [callback]; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.documentElement.appendChild(WVJBIframe); setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0) } setupWebViewJavascriptBridge(function(bridge) { bridge.registerHandler('jsHandler', function(data, responseCallback) { var responseData = {'key': 'value'} responseCallback(responseData) }) bridge.callHandler('iosHandler', {'key': 'value'}, function(response) { console.log(response) }) })
Declaration
Swift
@MainActor public class WebViewJSBridge : NSObject, WKScriptMessageHandler
-
自定义弹窗控制器样式配置类
See moreDeclaration
Swift
public class AlertControllerAppearance : NSObject, @unchecked Sendable
-
Declaration
Swift
@MainActor open class AlertController : UIViewController, UIViewControllerTransitioningDelegate
-
自定义弹窗展示控制器
See moreDeclaration
Swift
@MainActor open class AlertPresentationController : UIPresentationController
-
自定义弹窗动画
See moreDeclaration
Swift
@MainActor open class AlertAnimation : NSObject, UIViewControllerAnimatedTransitioning
-
弹窗动作
See moreDeclaration
Swift
@MainActor public class AlertAction : NSObject
-
系统弹出框样式配置类,由于系统兼容性,建议优先使用AlertController
备注:如果未自定义样式,显示效果和系统一致,不会产生任何影响;框架会先渲染actions动作再渲染cancel动作
See moreDeclaration
Swift
public class AlertAppearance : NSObject, @unchecked Sendable
-
默认弹窗插件
See moreDeclaration
Swift
@MainActor open class AlertPluginImpl : NSObject, AlertPlugin, @unchecked Sendable
-
自定义弹窗插件
See moreDeclaration
Swift
@MainActor open class AlertControllerImpl : NSObject, AlertPlugin, @unchecked Sendable
-
默认空界面插件
See moreDeclaration
Swift
@MainActor open class EmptyPluginImpl : NSObject, EmptyPlugin, @unchecked Sendable
-
滚动视图自定义浮层视图
See moreDeclaration
Swift
@MainActor open class ScrollOverlayView : UIView
-
图片下载凭据
See moreDeclaration
Swift
open class ImageDownloadReceipt : NSObject, @unchecked Sendable
-
Declaration
Swift
open class ImageDownloader : NSObject, @unchecked Sendable
-
内存自动清理图片缓存
See moreDeclaration
Swift
open class AutoPurgingImageCache : NSObject, ImageRequestCache, @unchecked Sendable
-
默认图片插件
See moreDeclaration
Swift
open class ImagePluginImpl : NSObject, ImagePlugin, @unchecked Sendable
-
Declaration
Swift
@MainActor open class ImageCropController : UIViewController, ImageCropViewDelegate
-
Undocumented
See moreDeclaration
Swift
@MainActor open class ImageCropOverlayView : UIView
-
Undocumented
See moreDeclaration
Swift
@MainActor open class ImageCropScrollView : UIScrollView
-
Undocumented
See moreDeclaration
Swift
@MainActor open class ImageCropToolbar : UIView
-
Undocumented
See moreDeclaration
Swift
@MainActor open class ImageCropView : UIView, UIScrollViewDelegate, UIGestureRecognizerDelegate
-
当前设备照片里的相簿列表
使用方式:
- 使用 init 初始化。
- 指定一个 albumControllerDelegate,并实现 @required 方法。
注意,iOS 访问相册需要得到授权,建议先询问用户授权([AssetsManager requestAuthorization:]),通过了再进行 ImageAlbumController 的初始化工作。
See moreDeclaration
Swift
@MainActor open class ImageAlbumController : UIViewController, UITableViewDataSource, UITableViewDelegate
-
相册列表默认Cell
See moreDeclaration
Swift
@MainActor open class ImageAlbumTableCell : UITableViewCell
-
Undocumented
See moreDeclaration
Swift
@MainActor open class ImagePickerPreviewController : ImagePreviewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, ImagePreviewViewDelegate
-
图片选择器预览集合Cell
See moreDeclaration
Swift
@MainActor open class ImagePickerPreviewCollectionCell : UICollectionViewCell
-
Undocumented
See moreDeclaration
Swift
@MainActor open class ImagePickerController : UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, ImagePickerPreviewControllerDelegate, ImagePickerTitleViewDelegate
-
图片选择空间里的九宫格 cell,支持显示 checkbox、饼状进度条及重试按钮(iCloud 图片需要)
See moreDeclaration
Swift
@MainActor open class ImagePickerCollectionCell : UICollectionViewCell
-
Undocumented
See moreDeclaration
Swift
@MainActor open class ImagePickerTitleView : UIControl, TitleViewProtocol
-
默认图片选取插件
See moreDeclaration
Swift
@MainActor open class ImagePickerPluginImpl : NSObject, ImagePickerPlugin, @unchecked Sendable
-
自定义图片选取插件
See moreDeclaration
Swift
@MainActor open class ImagePickerControllerImpl : NSObject, ImagePickerPlugin, @unchecked Sendable
-
查看图片的控件,支持横向滚动、放大缩小、loading 及错误语展示,内部使用 UICollectionView 实现横向滚动及 cell 复用,因此与其他普通的 UICollectionView 一样,也可使用 reloadData、collectionViewLayout 等常用方法。
使用方式:
- 使用 initWithFrame: 或 init 方法初始化。
- 设置 delegate。
- 在 delegate 的 numberOfImagesInImagePreviewView: 方法里返回图片总数。
- 在 delegate 的 imagePreviewView:renderZoomImageView:atIndex: 方法里为 zoomImageView.image 设置图片,如果需要,也可调用 [zoomImageView showLoading] 等方法来显示 loading。
- 由于 ImagePreviewViewDelegate 继承自 ZoomImageViewDelegate,所以若需要响应单击、双击、长按事件,请实现 ZoomImageViewDelegate 里的对应方法。
- 若需要从指定的某一张图片开始查看,可使用 currentImageIndex 属性。
Declaration
Swift
@MainActor open class ImagePreviewView : UIView, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout, ZoomImageViewDelegate
-
图片预览控件,主要功能由内部自带的 ImagePreviewView 提供,由于以 viewController 的形式存在,所以适用于那种在单独界面里展示图片,或者需要从某张目标图片的位置以动画的形式放大进入预览界面的场景。
使用方式:
- 使用 init 方法初始化
- 添加 self.imagePreviewView 的 delegate
- 以 push 或 present 的方式打开界面。如果是 present,则支持 ImagePreviewTransitioningStyle 里定义的动画。特别地,如果使用 zoom 方式,则需要通过 sourceImageView() 返回一个原界面上的 view 以作为 present 动画的起点和 dismiss 动画的终点。
Declaration
Swift
@MainActor open class ImagePreviewController : UIViewController, UIViewControllerTransitioningDelegate
-
负责处理 ImagePreviewController 被 present/dismiss 时的动画,如果需要自定义动画效果,可按需修改 animationEnteringBlock、animationBlock、animationCompletionBlock。
See moreDeclaration
Swift
@MainActor open class ImagePreviewTransitionAnimator : NSObject, UIViewControllerAnimatedTransitioning
-
支持按页横向滚动的 UICollectionViewLayout,可切换不同类型的滚动动画。
item 的大小和布局仅支持通过 UICollectionViewFlowLayout 的 property 系列属性修改,也即每个 item 都应相等。对于通过 delegate 方式返回各不相同的 itemSize、sectionInset 的场景是不支持的。
See moreDeclaration
Swift
@MainActor open class CollectionViewPagingLayout : UICollectionViewFlowLayout
-
默认图片预览插件
See moreDeclaration
Swift
@MainActor open class ImagePreviewPluginImpl : NSObject, ImagePreviewPlugin, @unchecked Sendable
-
支持缩放查看静态图片、live photo、视频的控件
默认显示完整图片或视频,可双击查看放大后的大小,再次双击恢复到初始大小。 支持通过修改 contentMode 来控制静态图片和 live photo 默认的显示模式,目前仅支持 UIViewContentModeCenter、UIViewContentModeScaleAspectFill、UIViewContentModeScaleAspectFit、UIViewContentModeScaleToFill(仅宽度拉伸),默认为 UIViewContentModeScaleAspectFit。注意这里的显示模式是基于 viewportRect 而言的而非整个 zoomImageView。 ZoomImageView 提供最基础的图片预览和缩放功能,其他功能请通过继承来实现。
See moreDeclaration
Swift
@MainActor open class ZoomImageView : UIView, UIScrollViewDelegate, UIGestureRecognizerDelegate
-
ZoomImageView视频工具栏
See moreDeclaration
Swift
@MainActor open class ZoomImageVideoToolbar : UIView
-
ZoomImageView视频播放器视图
See moreDeclaration
Swift
@MainActor open class ZoomImageVideoPlayerView : UIView
-
默认刷新插件
See moreDeclaration
Swift
@MainActor open class RefreshPluginImpl : NSObject, RefreshPlugin, @unchecked Sendable
-
Declaration
Swift
@MainActor open class PullRefreshView : UIView
-
Declaration
Swift
@MainActor open class InfiniteScrollView : UIView
-
默认吐司插件
See moreDeclaration
Swift
@MainActor open class ToastPluginImpl : NSObject, ToastPlugin, @unchecked Sendable
-
吐司视图,默认背景色透明
See moreDeclaration
Swift
@MainActor open class ToastView : UIControl
-
Declaration
Swift
@MainActor open class IndicatorView : UIView, IndicatorViewPlugin, ProgressViewPlugin
-
框架默认进度条视图
See moreDeclaration
Swift
@MainActor open class ProgressView : UIView, ProgressViewPlugin
-
默认视图插件
See moreDeclaration
Swift
@MainActor open class ViewPluginImpl : NSObject, ViewPlugin, @unchecked Sendable
-
缓存引擎基类,自动管理缓存有效期,线程安全。复杂对象需遵循NSCoding|AnyArchivable协议
See moreDeclaration
Swift
open class CacheEngine : NSObject, CacheProtocol, CacheEngineProtocol
-
文件缓存。复杂对象需遵循NSCoding|AnyArchivable协议
See moreDeclaration
Swift
open class CacheFile : CacheEngine, @unchecked Sendable
-
Keychain缓存。复杂对象需遵循NSCoding|AnyArchivable协议
See moreDeclaration
Swift
open class CacheKeychain : CacheEngine, @unchecked Sendable
-
缓存管理器
See moreDeclaration
Swift
public class CacheManager : NSObject, @unchecked Sendable
-
内存缓存
See moreDeclaration
Swift
open class CacheMemory : CacheEngine, @unchecked Sendable
-
Sqlite缓存。复杂对象需遵循NSCoding|AnyArchivable协议
See moreDeclaration
Swift
open class CacheSqlite : CacheEngine, @unchecked Sendable
-
UserDefaults缓存。复杂对象需遵循AnyArchivable协议
See moreDeclaration
Swift
open class CacheUserDefaults : CacheEngine, @unchecked Sendable
-
映射属性注解
See moreDeclaration
Swift
@propertyWrapper public final class MappedValue<Value>
extension MappedValue: CustomStringConvertible, CustomDebugStringConvertible
extension MappedValue: EncodableAnyMappedValue
extension MappedValue: DecodableAnyMappedValue
extension MappedValue: JSONMappedValue
extension MappedValue: Equatable where Value: Equatable
extension MappedValue: EncodableMappedValue where Value: Encodable
extension MappedValue: DecodableMappedValue where Value: Decodable
-
Undocumented
See moreDeclaration
Swift
public class JSONModelConfiguration : @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
open class TransformOf<ObjectType, JSONType> : TransformType
-
Undocumented
See moreDeclaration
Swift
open class URLTransform : TransformType
-
Undocumented
See moreDeclaration
Swift
open class EnumTransform<T> : TransformType where T : RawRepresentable
-
Undocumented
See moreDeclaration
Swift
open class NSDecimalNumberTransform : TransformType
-
Undocumented
See moreDeclaration
Swift
open class DataTransform : TransformType
-
Undocumented
See moreDeclaration
Swift
open class HexColorTransform : TransformType
-
Undocumented
See moreDeclaration
Swift
open class DateTransform : TransformType
-
Undocumented
See moreDeclaration
Swift
open class DateFormatterTransform : TransformType
-
Undocumented
See moreDeclaration
Swift
open class ISO8601DateTransform : DateFormatterTransform
-
Undocumented
See moreDeclaration
Swift
open class CustomDateFormatTransform : DateFormatterTransform
-
Declaration
-
Declaration
Swift
open class HTTPSessionManager : URLSessionManager, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
open class SecurityPolicy : NSObject
-
Undocumented
See moreDeclaration
Swift
open class HTTPRequestSerializer : NSObject, URLRequestSerialization
-
Undocumented
See moreDeclaration
Swift
open class StreamingMultipartFormData : NSObject, MultipartFormData
extension StreamingMultipartFormData: RequestMultipartFormData
-
Undocumented
See moreDeclaration
Swift
open class JSONRequestSerializer : HTTPRequestSerializer
-
Undocumented
See moreDeclaration
Swift
open class PropertyListRequestSerializer : HTTPRequestSerializer
-
Undocumented
See moreDeclaration
Swift
open class HTTPResponseSerializer : NSObject, URLResponseSerialization
-
Undocumented
See moreDeclaration
Swift
open class JSONResponseSerializer : HTTPResponseSerializer
-
Undocumented
See moreDeclaration
Swift
open class PropertyListResponseSerializer : HTTPResponseSerializer
-
Undocumented
See moreDeclaration
Swift
open class ImageResponseSerializer : HTTPResponseSerializer
-
Undocumented
See moreDeclaration
Swift
open class CompoundResponseSerializer : HTTPResponseSerializer
-
Declaration
Swift
open class URLSessionManager : NSObject, URLSessionDelegate, URLSessionTaskDelegate, URLSessionDataDelegate, URLSessionDownloadDelegate, @unchecked Sendable
-
批量请求类
See moreDeclaration
Swift
open class BatchRequest : HTTPRequestProtocol, RequestDelegate, @unchecked Sendable
-
批量请求管理器
See moreDeclaration
Swift
open class BatchRequestManager : @unchecked Sendable
-
队列请求类
See moreDeclaration
Swift
open class ChainRequest : HTTPRequestProtocol, RequestDelegate, @unchecked Sendable
-
队列请求管理器
See moreDeclaration
Swift
open class ChainRequestManager : @unchecked Sendable
-
HTTP请求基类,支持缓存和重试机制,使用时继承即可
注意事项: 如果vc请求回调句柄中未使用weak self,会产生强引用,则self会在vc关闭且等待请求完成后才会释放 如果vc请求回调句柄中使用了weak self,不会产生强引用,则self会在vc关闭时立即释放,不会等待请求完成
See moreDeclaration
Swift
open class HTTPRequest : HTTPRequestProtocol, Equatable, CustomStringConvertible, @unchecked Sendable
-
请求配置类
See moreDeclaration
Swift
open class RequestConfig : @unchecked Sendable
-
默认句柄请求配件类
See moreDeclaration
Swift
open class RequestAccessory : RequestAccessoryProtocol
-
默认请求上下文配件,用于处理加载条和显示错误等
See moreDeclaration
Swift
open class RequestContextAccessory : RequestAccessory, @unchecked Sendable
-
默认请求重试器,直接调用request的钩子方法
See moreDeclaration
Swift
open class RequestRetrier : RequestRetrierProtocol, @unchecked Sendable
-
默认请求验证器,调用jsonValidator验证responseJSONObject
See moreDeclaration
Swift
open class RequestValidator : RequestValidatorProtocol, @unchecked Sendable
-
默认请求文件缓存
See moreDeclaration
Swift
open class RequestCache : RequestCacheProtocol, @unchecked Sendable
-
默认请求插件
See moreDeclaration
Swift
open class RequestPluginImpl : NSObject, RequestPlugin, @unchecked Sendable
-
动图单帧对象
See moreDeclaration
Swift
public class ImageFrame
-
Declaration
Swift
open class ImageCoder : @unchecked Sendable
-
相册里某一个资源的包装对象,该资源可能是图片、视频等
Asset 重写了 isEqual: 方法,只要两个 Asset 的 identifier 相同,则认为是同一个对象,以方便在数组、字典等容器中对大量 Asset 进行遍历查找等操作
See moreDeclaration
Swift
@objc(ObjCAsset) public class Asset : NSObject, @unchecked Sendable
-
资源分组
See moreDeclaration
Swift
@objc(ObjCAssetGroup) public class AssetGroup : NSObject, @unchecked Sendable
-
构建 AssetManager 这个对象并提供单例的调用方式主要出于下面两点考虑:
- 保存照片/视频的方法较为复杂,为了方便封装系统接口,同时灵活地扩展功能,需要有一个独立对象去管理这些方法。
- 使用 PhotoKit 获取图片,基本都需要一个 PHCachingImageManager 的实例,为了减少消耗,AssetManager 单例内部也构建了一个 PHCachingImageManager,并且暴露给外面,方便获取PHCachingImageManager 的实例。
Declaration
Swift
public class AssetManager : @unchecked Sendable
- 保存照片/视频的方法较为复杂,为了方便封装系统接口,同时灵活地扩展功能,需要有一个独立对象去管理这些方法。
-
Declaration
Swift
open class AssetSessionExporter : NSObject, @unchecked Sendable
-
Declaration
Swift
open class AudioPlayer : NSObject, @unchecked Sendable
-
权限管理器。由于打包上传ipa时会自动检查隐私库并提供Info.plist描述,所以默认关闭隐私库声明
开启指定权限方法示例:
- Pod项目添加pod时指定子模块:pod ‘FWFramework’, :subspecs => [‘FWPlugin/Contacts’]
- SPM项目勾选并引入指定子模块:import FWPluginContacts
Declaration
Swift
public class AuthorizeManager
-
定位授权
See moreDeclaration
Swift
public class AuthorizeLocation : NSObject, AuthorizeProtocol, CLLocationManagerDelegate, @unchecked Sendable
-
相册授权
See moreDeclaration
Swift
public class AuthorizePhotoLibrary : NSObject, AuthorizeProtocol, @unchecked Sendable
-
照相机授权
See moreDeclaration
Swift
public class AuthorizeCamera : NSObject, AuthorizeProtocol, @unchecked Sendable
-
通知授权
See moreDeclaration
Swift
public class AuthorizeNotifications : NSObject, AuthorizeProtocol, @unchecked Sendable
-
位置服务
注意:Info.plist需要添加NSLocationWhenInUseUsageDescription项。 如果请求Always定位,还需添加NSLocationAlwaysUsageDescription项和NSLocationAlwaysAndWhenInUseUsageDescription项。 iOS11可通过showsBackgroundLocationIndicator配置是否显示后台定位指示器
See moreDeclaration
Swift
open class LocationManager : NSObject, CLLocationManagerDelegate, @unchecked Sendable
-
通知管理器
See moreDeclaration
Swift
public class NotificationManager : NSObject, UNUserNotificationCenterDelegate, @unchecked Sendable
-
Declaration
Swift
@MainActor open class VideoPlayer : UIViewController
-
Undocumented
See moreDeclaration
Swift
@MainActor open class VideoPlayerView : UIView
-
AnyArchivable归档编码器,注意当archiveObject为struct时,必须先调用registerType注册
See moreDeclaration
Swift
public class ArchiveCoder : NSObject, NSSecureCoding
-
视图链式布局类。如果约束条件完全相同,会自动更新约束而不是重新添加。 另外,默认布局方式使用LTR,如果需要RTL布局,可通过autoLayoutRTL统一启用
See moreDeclaration
Swift
@MainActor public class LayoutChain
-
导航栏样式配置
See moreDeclaration
Swift
open class NavigationBarAppearance
-
Declaration
Swift
public class MulticastBlock
-
支持高亮状态的点击手势
See moreDeclaration
Swift
@MainActor open class TapGestureRecognizer : UITapGestureRecognizer
-
业务模块Bundle基类,各模块可继承
资源查找规则如下:
- ModuleBundle基类或主应用模块类只加载主Bundle
- ModuleBundle子模块类优先加载主应用的{模块名称}.bundle(可替换模块),如主应用内FWFramework.bundle
- ModuleBundle子模块类其次加载该模块的{模块名称}.bundle,如框架内FWFramework.bundle
- ModuleBundle子模块类以上都不存在时返回nil加载主Bundle
Declaration
Swift
open class ModuleBundle : NSObject
-
框架内置应用Bundle类,应用可替换
如果主应用存在FWFramework.bundle或主Bundle内包含对应图片|多语言,则优先使用;否则使用框架默认实现。 FWFramework本地化配置同App本地化一致即可,如zh-Hans|zh-Hant|en等
See moreDeclaration
Swift
public class FrameworkBundle : ModuleBundle
-
Keychain管理器
See moreDeclaration
Swift
public class KeychainManager : @unchecked Sendable
-
可扩展主题样式(采用class实现是为了NSObject子类可重写)
See moreDeclaration
Swift
public class ThemeStyle : NSObject, RawRepresentable, @unchecked Sendable
-
主题管理器,iOS13+可跟随系统改变
框架默认只拦截了UIView|UIViewController|UIScreen|UIImageView|UILabel类,满足条件会自动触发themeChanged;如果不满足条件或者拦截未生效,需先设置主题上下文fw.themeContext才能生效。 注意事项:iOS13以下默认不支持主题切换;如需支持,请使用fw.color相关方法
See moreDeclaration
Swift
public class ThemeManager : @unchecked Sendable
-
主题动态对象,可获取当前主题静态对象
See moreDeclaration
Swift
public class ThemeObject<T> : @unchecked Sendable
-
Alamofire请求插件,启用Alamofire子模块后生效
See moreDeclaration
Swift
open class AlamofireImpl : NSObject, RequestPlugin, @unchecked Sendable
-
生物识别授权
See moreDeclaration
Swift
public class AuthorizeBiometry : NSObject, AuthorizeProtocol, @unchecked Sendable
-
日历授权
See moreDeclaration
Swift
public class AuthorizeCalendar : NSObject, AuthorizeProtocol, @unchecked Sendable
-
通讯录授权
See moreDeclaration
Swift
public class AuthorizeContacts : NSObject, AuthorizeProtocol, @unchecked Sendable
-
Lottile插件视图,可用于加载、进度、下拉刷新等
See moreDeclaration
Swift
@MainActor open class LottiePluginView : UIView, IndicatorViewPlugin, ProgressViewPlugin
-
麦克风授权
See moreDeclaration
Swift
public class AuthorizeMicrophone : NSObject, AuthorizeProtocol, @unchecked Sendable
-
事件分析器
See moreDeclaration
Swift
public class Analyzer : @unchecked Sendable
-
Declaration
Swift
public class DatabaseManager : @unchecked Sendable
-
Declaration
Swift
public class PlayerCacheLoaderManager : NSObject, AVAssetResourceLoaderDelegate, PlayerCacheLoaderDelegate
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheLoader : NSObject, PlayerCacheRequestWorkerDelegate
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheRequestWorker : NSObject, PlayerCacheDownloaderDelegate
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheContentInfo : NSObject, NSSecureCoding
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheAction : NSObject
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheConfiguration : NSObject, NSCopying, NSSecureCoding, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheManager : NSObject, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheSessionManager : NSObject, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class PlayerCacheWorker : NSObject
-
版本管理器
See moreDeclaration
Swift
public class VersionManager : @unchecked Sendable
-
Declaration
Swift
open class WebSocket : WebSocketClient, WebSocketEngineDelegate, @unchecked Sendable
-
WebSocketServer is a Network.framework implementation of a WebSocket server
See moreDeclaration
Swift
public class WebSocketServer : WebSocketServerProtocol, WebSocketConnectionDelegate, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class WebSocketServerConnection : WebSocketConnection, WebSocketHTTPServerDelegate, WebSocketFramerEventClient, WebSocketFrameCollectorDelegate, WebSocketTransportEventClient, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class WebSocketTCPTransport : WebSocketTransport, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class WebSocketFoundationSecurity
extension WebSocketFoundationSecurity: WebSocketCertificatePinning
extension WebSocketFoundationSecurity: WebSocketHeaderValidator
-
Undocumented
See moreDeclaration
Swift
public class WebSocketCompression : WebSocketCompressionHandler
-
Undocumented
See moreDeclaration
Swift
public class WebSocketNativeEngine : NSObject, WebSocketEngineProtocol, URLSessionDataDelegate, URLSessionWebSocketDelegate, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class WebSocketEngine: WebSocketEngineProtocol, WebSocketTransportEventClient, WebSocketFramerEventClient, WebSocketFrameCollectorDelegate, WebSocketHTTPHandlerDelegate, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class WebSocketFramer : WebSocketFramerProtocol, @unchecked Sendable
-
Undocumented
See moreDeclaration
Swift
public class WebSocketFrameCollector
-
Undocumented
See moreDeclaration
Swift
public class WebSocketFoundationHTTPHandler : WebSocketHTTPHandler
-
Undocumented
See moreDeclaration
Swift
public class WebSocketFoundationHTTPServerHandler : WebSocketHTTPServerHandler
-
Declaration
Swift
open class Icon
-
图像文本识别器
See moreDeclaration
Swift
public class Recognizer
-
在 UICollectionViewFlowLayout 基础上,自定义 UICollectionView 对齐布局 注意:滚动方向默认为垂直滚动,不可设置滚动方向
实现以下功能:
- 设置水平方向对齐方式:流式(默认)、流式填充、居左、居中、居右、平铺;
- 设置竖直方向对齐方式:居中(默认)、置顶、置底;
- 设置显示条目排布方向:从左到右(默认)、从右到左。 JQCollectionViewAlignLayout
Declaration
Swift
@MainActor open class CollectionViewAlignLayout : UICollectionViewFlowLayout
-
Undocumented
See moreDeclaration
Swift
@MainActor open class BarrageRenderView : UIView
extension BarrageRenderView: @preconcurrency CAAnimationDelegate
-
Undocumented
See moreDeclaration
Swift
open class BarrageDescriptor : NSObject
-
Undocumented
See moreDeclaration
Swift
@MainActor open class BarrageCell : UIView
-
Undocumented
See moreDeclaration
Swift
open class BarrageTextDescriptor : BarrageDescriptor
-
Undocumented
See moreDeclaration
Swift
@MainActor open class BarrageTextCell : BarrageCell
-
Undocumented
See moreDeclaration
Swift
open class BarrageTrackInfo : NSObject
-
半圆圆角View,无需frame快捷设置半圆圆角、边框等
See moreDeclaration
Swift
@MainActor open class RoundedCornerView : UIView
-
不规则圆角View,无需frame快捷设置不规则圆角、边框等
See moreDeclaration
Swift
@MainActor open class RectCornerView : UIView
-
渐变View,无需设置渐变Layer的frame等,支持自动布局
See moreDeclaration
Swift
@MainActor open class GradientView : UIView
-
Declaration
Swift
@MainActor open class GuideViewController : UIViewController
-
引导管理器
See moreDeclaration
Swift
public class GuideViewManager
-
引导视图项
See moreDeclaration
Swift
open class GuideViewItem
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PagingListContainerView : UIView
extension PagingListContainerView: UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PagingMainTableView : UITableView, UIGestureRecognizerDelegate
-
Declaration
Swift
@MainActor open class PagingView : UIView
extension PagingView: UITableViewDataSource, UITableViewDelegate
extension PagingView: PagingListContainerViewDataSource
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PagingListRefreshView : PagingView
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PagingSmoothView : UIView
extension PagingSmoothView: UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
-
Undocumented
See moreDeclaration
Swift
@MainActor public class PagingSmoothCollectionView : UICollectionView, UIGestureRecognizerDelegate
-
Declaration
Swift
@MainActor open class PasscodeView : UIView, UICollectionViewDataSource, UICollectionViewDelegate, UITextFieldDelegate
-
Undocumented
See moreDeclaration
Swift
open class PasscodeCellProperty : NSObject, NSCopying
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PasscodeCell : UICollectionViewCell
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PasscodeLineView : UIView
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PasscodeSecrectImageView : UIView
-
Undocumented
See moreDeclaration
Swift
@MainActor open class PasscodeFlowLayout : UICollectionViewFlowLayout
-
弹出菜单路径
See moreDeclaration
Swift
public class PopupMenuPath
-
屏幕转向管理器
See moreDeclaration
Swift
@MainActor open class PopupMenuDeviceOrientationManager : NSObject
-
弹出菜单动画管理器
See moreDeclaration
Swift
@MainActor open class PopupMenuAnimationManager : NSObject
extension PopupMenuAnimationManager: @preconcurrency CAAnimationDelegate
-
Declaration
Swift
@MainActor open class PopupMenu : UIView, UITableViewDataSource, UITableViewDelegate
-
骨架屏自带动画
See moreDeclaration
Swift
open class SkeletonAnimation : NSObject, SkeletonAnimationProtocol, @unchecked Sendable
-
骨架屏通用样式
See moreDeclaration
Swift
public class SkeletonAppearance : NSObject, @unchecked Sendable
-
骨架屏视图,支持设置占位图片
See moreDeclaration
Swift
@MainActor open class SkeletonView : UIView
-
骨架屏多行标签视图,可显示多行骨架
See moreDeclaration
Swift
@MainActor open class SkeletonLabel : SkeletonView
-
骨架屏布局视图,可从视图生成骨架屏,嵌套到UIScrollView即可实现滚动
See moreDeclaration
Swift
@MainActor open class SkeletonLayout : SkeletonView
-
骨架屏表格视图,可生成表格骨架屏
See moreDeclaration
Swift
@MainActor open class SkeletonTableView : SkeletonLayout, UITableViewDataSource, UITableViewDelegate
-
骨架屏集合视图,可生成集合骨架屏
See moreDeclaration
Swift
@MainActor open class SkeletonCollectionView : SkeletonLayout, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout
-
事件统计管理器
视图从不可见变为可见时曝光开始,触发曝光开始事件(triggerDuration为0); 视图从可见到不可见时曝光结束,视为一次曝光,触发曝光结束事件(triggerDuration大于0)并统计曝光时长。 默认未开启曝光时长统计,仅触发开始事件用于统计次数;开启曝光时长统计后会触发结束事件并统计时长,应用退后台时不计曝光时间。 默认运行模式时,视图快速滚动不计算曝光,可配置runLoopMode快速滚动时也计算曝光
See moreDeclaration
Swift
public class StatisticalManager : NSObject, @unchecked Sendable
-
事件统计对象
See moreDeclaration
Swift
public class StatisticalEvent : NSObject, NSCopying
-
SDWebImage图片插件,启用SDWebImage子模块后生效
See moreDeclaration
Swift
open class SDWebImageImpl : NSObject, ImagePlugin, @unchecked Sendable
-
SDWebImage指示器插件Indicator
See moreDeclaration
Swift
@MainActor open class SDWebImagePluginIndicator : NSObject
extension SDWebImagePluginIndicator: @preconcurrency SDWebImageIndicator
-
Undocumented
See moreDeclaration
Swift
@MainActor open class SDWebImageProgressPluginIndicator : NSObject
extension SDWebImageProgressPluginIndicator: @preconcurrency SDWebImageIndicator
-
IDFA授权,iOS14+使用AppTrackingTransparency,其它使用AdSupport
See moreDeclaration
Swift
public class AuthorizeTracking : NSObject, AuthorizeProtocol, @unchecked Sendable
-
Declaration
Swift
@MainActor open class HostingController : UIHostingController<AnyView>
-
通用视图配置Key类
See moreDeclaration
Swift
open class ViewPreferenceKey<T> : PreferenceKey where T : Equatable