客户端Git版本管理流程分享
|
|
常驻分支
master分支
|
|
|
|
|
|
在短视频进入编辑界面的时候在视频预览播放层上用户点击涂鸦按钮调出涂鸦面板。
在涂鸦面板为第一次响应的时候,编辑界面面板不响应。
涂鸦过程中可以选择画笔颜色,同时可以调节画笔宽度。
用户可以撤销涂鸦,进行清屏操作。
|
|
贴纸除了天气海拔等物理来源之外,需要通过服务下载贴纸资源,外加内置系统表情。
在视频编辑界面添加贴纸层,对贴纸进行拖动、缩放、旋转、删除操作。
在视频编辑界面添加文字层,可以改变文字颜色,拖、缩放、旋转、删除操作。
对贴纸和文字进行操作,涉及到iOS UIGestureRecongizer
手势响应的管理。
对文字视图做操作编辑状态下恢复原状,涉及iOS仿射变换知识。
在视图对象上添加手势,并且在各个手势selector API里面实现对视图的控制。
|
|
在对于自定义的对象支持copy功能,也就是我们要给自定义的对象发送copy message,那我们就要手动实现NSCopying协议。在项目开发中我们如果对某个字典或者数组对象进行了一次mutbleCopy其实系统默认的调用了如下API:
|
|
如果你现在通过retain或者alloc创建并持有了一个对象,浅拷贝就是重新拷贝了一个指向当前这个对象的指针,此时就有两份指针同时指向当前对象的内存区域,即指向同一块内存区域,对象只有一份并没有发生任何变化。
|
|
深拷贝拷贝当前指针指向的对象,系统会随机给拷贝的对象重新分配一块内存,深拷贝以后,两份对象的内存地址不一样,指针指向也不一样。深拷贝会把当前容器中的对象重新拷贝一份放到另一个容器中,拷贝后的指针指向新的容器。
|
|
在我们项目开发中我们经常会遇到关于图片的处理。
在图片上传中我们会从用户体验方面考虑用户的流量是否能够很好的支持上传的图片,我们会对图片先压缩后上传。
当我们考虑到手机的本身内存我们会对下载的图片进行压缩,以便节省手机内存成本。
|
|
|
|
在开发中我们常常会遇到布局比较复杂的cell,在滑动的时候会导致界面不流畅,出现卡顿的现象,这是由于CPU计算和GPU渲染,之间未及时交换数据丢失帧导致的结果。
当imageView的opque设置为YES的时候其alpha的属性就会无效,imageView的半透明取决于其图片半透明或者imageView本身的背景色合成的图层view是半透明的。
如果图片全部不是半透明就不会触发图层的blend操作,整个图层就会不透明。
如果叠加的图片有出现半透明的,就会立马触发图层的blend操作,整个图层不透明。
当opque为NO的时候,图层的半透明取决于图片和其本身合成的图层为结果。
当某一块图层的alpha和其superView的背景色alpha不一样的时候会触发alpha合成操作,这是一项看似很简单但却是非常消耗CPU性能的操作。至于alpha叠加
的概念如果有问题可以查看官方说法。
UIView的背景色尽量不要设置为clearColor,这样也会触发alpha叠加,在tableView滑动的时候是非常消耗性能的。子视图的背景色尽可能设置成其superView的背景色,这样图层合成的时候不会触发blend操作。
最好不使用带alpha通道的图片,如果有alpha尽量让美工取消alpha通道。
alpha通道的概念特地请教了下公司UI MM,是透明的意思。
Cocoapods是在Mac OSX和iOS应用程序上利用ruby的依赖管理gem来构建的的一款第三库依赖的管理工具,通过它可以很方便的去管理项目中的三方库,随着版本的迭代可以快速升级第三方库版版本,也能够搜索出比较有价值的三方库,同时还为开发者自动配置好编译器的各种设置选项,为开发者节省大量没有技术含量去设置build phasese和link flags.
Cocoapods/Cocoapod
该组件包含了Cocoapods的基本功能,每当使用pod命令时都能够激活该组件.
Cocoapods/Core
该组件支持了Cocoapods的Podfile和Podspec文件处理.
Podfile
在此文件里面我们可以高度自定义指定所需的三方库版本号等.
Podspec
该文件描述了一个库是怎样被添加到工程里的,可以列出源文件指定库的依赖关系.
Cocoapods/XcodeProj
创建.xcWorkSpace .xcodeProj,整合所有工程文件.
|
|
|
|
备注
|
|