【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)

iOS开发中,会要求导入@1x、@2x和@3x:

使用@1x格式:iPhone3GS

使用@2x格式:iPhone 4,4S,5,5S,5C,SE,6,6S,7,8,XR

使用@3x格式:iPhone 6Plus、6sPlus、7Plus、8Plus、X、XS、XS Max

这样在开发过程中,将三种图片(比如分别为1.png、1@2x.png和1@3x.png)导入到工程图库中的时候可以自动被识别为1x、2x和3x大小的图片

可以利用Mac系统中自带的服务自己制作一个快速生成@1x、@2x和@3x图片的功能

首先spotlight搜索Automator,然后按Enter打开

Snip20160127_93

新建文稿 

Snip20160127_94

选取文稿类型为 快速操作

Snip20160127_95

工作流程收到当前的后面选择图像文件

Snip20160127_108

在左边窗口的“操作”下,选择“资源库”中的“文件和文件夹”,将右侧中的“给访达项目重新命名”拖入最右侧的大窗口中,(如果警告提示是否要增加一个“拷贝访达项目”操作,选择“不添加”),选择“添加文本”,在输入框中输入【@3x

拖入复制访达项目

选择左侧“资源库”中的照片,将“缩放图像”拖入右侧窗口(如果警告提示是否要增加一个“拷贝访达项目”操作,选择“不添加”),并选择“按百分比”,输入【66

再拖入“文件和文件夹”下的“给访达项目重新命名”,并选择【替换文本】,查找【】,以【仅基本名称】;再拖入“文件和文件夹”下的“给访达项目重新命名”,并选择【替换文本】,查找【@3x”的副本】,以【仅基本名称,替换成@2x

拖入“复制访达项目”,选择左侧“资源库”中的照片,将“缩放图像”拖入右侧窗口(如果警告提示是否要增加一个“拷贝访达项目”操作,选择“不添加”),并选择“按百分比”,输入【50

再拖入“文件和文件夹”下的“给访达项目重新命名”,并选择【替换文本】,查找【】,以【仅基本名称再拖入“文件和文件夹”下的“给访达项目重新命名”,并选择【替换文本】,查找【@2x”的副本】,以【仅基本名称

然后保存,将“快速操作”存储为“制作@2x@3x图片

 

每次使用的时候,只需选中图片,选择访达 -> 服务 -> 制作@2x@3x图片,就会自动生成三个图片:1.png、1@2x.png和1@3x.png

最终效果~

 

【iOS】TouchDown、TouchDownRepeat 和 TouchCancel 的区别

TouchDown:在控件窗口内单点触摸按下

TouchDownRepeat:在控件窗口内多点触摸按下(即点触计数大于1)

TouchCancel:在控件窗口内因为系统事件将当前所有触摸取消(如手机被锁屏、有电话呼入)


[依据] 来自Apple官方文档 UIControlEvents

UIControlEventTouchDown:A touch-down event in the control.

UIControlEventTouchDownRepeatA repeated touch-down event in the control; for this event the value of the UITouch tapCount method is greater than one.

UIControlEventTouchCancel:A system event canceling the current touches for the control.

【iOS】Touch Drag Inside 和 Touch Drag Outside、Touch Drag Enter、Touch Drag Exit的区别

Touch Drag Inside:手指在控件窗口内拖动

Touch Drag Outside:手指在控件窗口外拖动

Touch Drag Enter:手指从控件窗口外部拖动到内部

Touch Drag Exit:手指从控件窗口内部拖动到外部


[依据] 来自Apple官方文档 UIControlEvents

UIControlEventTouchDragInside:An event where a finger is dragged inside the bounds of the control.

UIControlEventTouchDragOutside:An event where a finger is dragged just outside the bounds of the control.

UIControlEventTouchDragEnter:An event where a finger is dragged into the bounds of the control.

UIControlEventTouchDragExit:An event where a finger is dragged from within a control to outside its bounds.

【iOS】Touch Up Inside 和 Touch Up Outside 的区别

Touch Up Inside:按下按钮,并且在按钮内部(inside)松手

Touch Up Outside:按下按钮,并且在按钮外部(outside)松手


[依据] 来自Apple官方文档 UIControlEvents

UIControlEventTouchUpInside:A touch-up event in the control where the finger is inside the bounds of the control.

UIControlEventTouchUpOutside:A touch-up event in the control where the finger is outside the bounds of the control.