让Android和iOS共用一套切图?
ringa_lee
ringa_lee 2017-04-17 15:05:31
[iOS讨论组]

问题来源:

开发中,UI给出了图,但在iOS和Android命名不统一,需要重新命名,会带来一些不便,如果可以使用一套切图,那就节约了时间,方便管理.

命名约束:

  • Android 图片命名不能出现 @ 和 大写字母 (a-z _)
  • Android 中会出现 .9 文件
  • iOS 使用 @2 @3 来区别 2x 3x 图

当前我想到的解决办法:

  1. 所有图片统一命名为 abcd_2x.png abcd_3x.png 形式
  2. Android 端不需要处理, 直接使用 abcd_2x.png
  3. iOS 端:

    • 扩展 UIImage, 添加方法 imageBySelfName
    • 使用 : [UIImage iamgeBySelfName:@"abcd"] 获取图片
    • 方法内根据屏幕的分辨率 添加 _2x 或 _3x 的后缀 取图
    • 如果没有图, 则获取相近的图

不是到这种方法可行否?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
黄舟

因为没有开发过Android 不知可不可行。

但是(不是广告哈)

如果美工本身使用的是photoshop来切图,有相应的插件http://www.cutterman.cn/,可以只需要将原始图片命名,并且支持多张一块切。然后可以产生适用于AndroidiOS的图片命名。

例子

  1. 图层命名:test

选中ios产出-test.png+test.@2x.png...

2.选中Android

产出不同文件夹,文件夹下有各种分辨率下的文件(应该刚好符合)

巴扎黑

这个方法可行啊,不过有两点需要注意。
1. 方法名打错了吧,建议用+imageBySelfNamed:
2. +imageNamed:方法实现了缓存功能,建议你也去实现一下,可以显著提高第二次加载的速度!


还有一个更简单的方式,美术切图可以按照你写的规则命名。切图打包给你,用下面的脚本脚本批量修改文件名,自动递归目录):

shell$ for file in `find . -type f`; do mv $file ${file/%_2x.png/@2x.png}; done
$ for file in `find . -type f`; do mv $file ${file/%_3x.png/@3x.png}; done
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号