APExtensions
一组有用的扩展、控制器和协议
示例
要运行示例项目,请克隆仓库,然后首先从示例目录运行 pod install
。
安装
Swift 包管理器
- 在 Xcode 中选择
文件
>添加包...
- 将以下内容复制并粘贴到搜索中:
https://github.com/APUtils/APExtensions
‼️ 确保选中最高到下一个主版本
并将13.0.0
放入下限。Xcode 存在一个错误,它默认不选择高于 9.0.0 的版本‼️ - 点击
添加包
- 选择
APExtension
并点击添加包
CocoaPods
APExtensions 可通过 CocoaPods 获取。要安装它,只需将以下行添加到 Podfile 中
pod 'APExtensions', '~> 13.0'
可用的子规范:Core
、Storyboard
、ViewModel
。子规范的示例 Podfile
pod 'APExtensions/Core', '~> 13.0'
pod 'APExtensions/Storyboard', '~> 13.0'
pod 'APExtensions/ViewModel', '~> 13.0'
Carthage 已弃用
请查看官方指南
Cartfile
github "APUtils/APExtensions" "carthage-old"
安装命令:carthage bootstrap
您应该在稍后将其中的 APExtensions
和 RoutableLogger
框架添加到项目中。
使用 XCFrameworks 的 Carthage 已弃用
请查看官方指南
Cartfile
github "APUtils/APExtensions" ~> 13.0
安装命令:carthage bootstrap --use-xcframeworks
您应该在稍后将其中的 APExtensions
和 RoutableLogger
框架添加到项目中。
使用
更详细信息,请参阅文档。
核心
全局工具和调试方法、控制器、协议以及大量的默认类扩展。更多详情请参阅DOCS。
ViewModel
为视图添加ViewModel
结构体和.configure(vm:)
方法,使其易于且稳健地配置。
ViewState
已迁移到https://github.com/APUtils/ViewState
Storyboard
扩展了可以通过Storyboard配置的默认属性。
NSLayoutConstraint:
fitScreenSize
用于根据屏幕尺寸调整约束常量。*onePixelSize
用于使约束为1像素大小
UIButton:
fitScreenSize
用于根据屏幕尺寸调整字体大小。*lines
用于更改标题标签的最大行数
UIImageView:
fitScreenSize
用于根据屏幕尺寸调整图片大小。*localizableImageName
用于使用本地化特定的图片。您可以将图片命名为image_en
、image_ru
、image_fr
等,在localizableImageName
字段中放入image
,并确保您将本地化的_en
转换为_fr
以进行法国本地化,_ru
以进行俄罗斯等本地化。
UILabel:
fitScreenSize
用于根据屏幕尺寸调整字体大小。*
UIScrollView:
avoidTopBars
用于设置contentInset.top为64avoidTabBar
用于设置contentInset.bottom为49
UITextView:
fitScreenSize
用于根据屏幕尺寸调整字体大小。*
UIView:
borderColor
用于设置边框颜色borderWidth
用于设置边框宽度borderOnePixelWidth
用于使边框为1像素宽度cornerRadius
用于设置圆角半径shadowColor
用于设置阴影颜色shadowOffset
用于设置阴影偏移量shadowOpacity
用于设置阴影不透明度shadowRadius
用于设置阴影半径shadowApplyPath
用于将视图边界矩形作为阴影路径应用。对于不透明视图,这大大提高了性能。
UIViewController:
hideKeyboardOnTouch
用于在触摸外部时隐藏键盘
说明
假设布局是为最大的屏幕尺寸制作的(iPhone 6+、6s+、7+等),因此在较低分辨率的屏幕上,主题将按比例减少。
可占用空间
Occupiable
协议
OptionalType
OptionalType
协议
贡献
任何形式的贡献都十分欢迎!您可以通过在GitHub提交拉取请求和问题来进行贡献。
作者
Anton Plebanovich,[email protected]
许可证
APExtensions遵照MIT许可证提供。有关更多详细信息,请参阅LICENSE文件。