独立于您的代码提供资源。根据设备类型或朝向管理不同的大小、字符串。灵感来自于 Android 的资源管理。
易于扩展,您可以提供自己的标准。例如,根据您的产品司法管辖区处理不同的值。
它受到了 Android 中资源管理的启发。这是一个更简单的版本,规则较少,并适用于 iOS 生态系统。
您可以为满足某些标准时才应用的情况创建资源文件。您可以创建一个名为 "resources-ipad-land.plist" 的资源文件,另一个名为 "resources-ipad-port.plist"。如果您在平板电脑上横向使用,则返回的值来自第一个文件。
规则定义在以下表中,每个配置都有自己的限定值,您可以在资源文件名中使用。
配置 | 限定值 | 描述 |
---|---|---|
设备型号 | 例如:ipad iphone iphone6 iphon6plus | 指定设备型号。您可以具体指定应用于更多情况,或者具有更通用的标准 |
朝向 | 例如:port land | 设备朝向 |
第一步是创建带有.plist扩展名的资源文件,其中包含您的标准。
创建一个 MDResourceManager 并提供您的标准。请记住,顺序很重要,最佳匹配算法考虑您提供的标准顺序。
您也可以创建自己的标准。
NSArray *criterias = @[[[MDDeviceResourceCriteria alloc] init],
[[MDOrientationResourceCriteria alloc] init]];
MDResourceManager *resourceManager = [[MDResourceManager alloc] initWithPrefixFileName:@"dimensions"
criterias:criterias];
[resourceManager loadResources];
CGFloat labelFontSize1 = [resourceManager floatForKey:@"labelFontSize1"];
CGFloat labelFontSize2 = [resourceManager floatForKey:@"labelFontSize2"];
要运行示例项目,请克隆仓库,并首先从示例目录运行 pod install
Joao Prudencio, [email protected]
MDResourceManager 可在 MIT 许可证下获得。有关更多信息,请参阅 LICENSE 文件。