Skip to content

1.2.0

Compare
Choose a tag to compare
@LinXunFeng LinXunFeng released this 21 Aug 15:07
· 24 commits to master since this release

更新内容

  • 新增移除指定尺寸后再进行适配的功能
  • 开放 Config 配置,方便获取屏幕/设备的相关信息

使用

Swift

1、定义适配规则

struct Fit {
    @WrappedSwiftyFitsize(reduceValue: Metric.tableViewLeftRightMargin * 2)
    static var width: CGFloat = 375
}

2、使用

struct Metric {
    static let tableViewLeftRightMargin: CGFloat = 10
    static let tableViewTopMargin: CGFloat = 10
    static let tableViewHeight: CGFloat = Fit.$width(30) // 去掉左右边距后进行适配的值
    static let rowViewTopMargin: CGFloat = 5
    static let rowViewHeight: CGFloat = tableViewHeight - rowViewTopMargin * 2
    static let rowLeftViewWidth: CGFloat = Fit.$width(177.5)
    static let rowCenterViewWidth: CGFloat = Fit.$width(100.5)
    static let rowRightViewWidth: CGFloat = Fit.$width(77)
}
print("默认适配的宽度: \(Fit.width)")

// 移除指定尺寸后的适配,调用方式:
// 以下都是以适配 tableView 为例,移除 tableView 左右两侧固定的边距,以剩余的宽度来做适配

// 方式一:先赋值再取值
// 将 20 进行适配
Fit.width = 20
print("适配后的值 -- \(Fit.width)")

// 方式二:使用 $ 将 width 当方法用,传入待适配的值
// 将 30 进行适配
let aVal = Fit.$width(30)
print("适配后的值 aVal -- \(aVal)")

// 方式三:调用 SwiftyFitsize.fit 方法
let bVal = SwiftyFitsize.fit(
    size: 40,
    fitType: .flexibleWidth,
    reduceValue: Metric.tableViewLeftRightMargin * 2
)
print("适配后的值 bVal -- \(bVal)")

Objective-C

1、定义宏

#define kFitWidth(value) \
[SwiftyFitsize fitWithSize:value fitType:SwiftyFitTypeFlexibleWidth reduceValue:20]

2、使用

CGFloat fitWidth = kFitWidth(40);
NSLog(@"fitWidth -- %f", fitWidth);