ios开发
xiaolinyeyi
菜鸟记录成长之路
展开
-
将装了win的mac重装回来具体步骤
感谢老师,让我暂时告别了虚拟机,用上了mac,留图我的虚拟机 但这个macbook装的是win8系统,需要重新装回OS X。 步骤1:制作启动u盘; 步骤2:在mac上安装系统。 一、制作启动盘 首先下载OS X的dmg文件 然后使用TransMac将文件录到u盘中。右击u盘,选择format disk for mac,将其格式化为mac的格式,一路确定,然后再右击选择resto原创 2015-05-21 18:24:53 · 2880 阅读 · 0 评论 -
AVAsset、AVMutableComposition系列类的理解及视频裁剪示例
裁剪视频是很久之前所做的项目中用到的,现在又看到了,整理一下。 与之相关的这些类有些抽象,所以我这里重点将它们具体化。用代码将视频合成其实与绘声绘影/vegas等软件将视频合成的过程类似,首先了解下这类软件一些相关知识:一个工程文件中有很多轨道,如音频轨道1,音频轨道2,音频轨道3,视频轨道1,视频轨道2等等,每个轨道里有许多素材,对于每个视频素材,它可以进行缩放、旋转等操作,素材库中的视频拖到轨原创 2016-03-13 17:37:49 · 10021 阅读 · 0 评论 -
自定义拖拽cell
UITableView自带的 move 效果需要拖特定的地方才能移动,有时并不方便。所以研究下拖任意部位拖走cell的方法 上图为一个横着的tableView,其中的图片可以长按之后拖走思路为:隐藏选中的cell,用UIImageView来代替它,然后被拖来拖去。拖动的过程中如果到了一个新的位置,则更新dataSouce,并重新加载tableView,直至松手。松手后,移除替身UIImageV原创 2016-07-06 20:34:49 · 957 阅读 · 0 评论 -
视频添加滤镜的预览和导出
原理:利用CIFilter对视频进行逐帧处理预览AVPlayerItemVideoOutput能够处理视频播放过程中像素级别的buffer,其方法hasNewPixelBufferForItemTime:(CMTime)itemTime可以判断在itemTime 这个时刻是否有可用的像素信息,copyPixelBufferForItemTime: itemTimeForDisplay:可以取到这原创 2016-07-11 19:38:44 · 3133 阅读 · 0 评论 -
自动布局的数学公式
上图中各个属性之间的数学关系如下: firstItem (relation) secondItem * multiplier + constant其中: * firstItem、secondItem为控件的位置属性,如前后上下 * relation包括 =、 <=、 >= * multiplier为倍数 * constant为偏移 * 公式中未出现priority,它表示优先级,原创 2016-06-29 10:58:19 · 455 阅读 · 0 评论 -
AVComposition中的CALayer
AVMutableComposition除了可以插入视频轨道、音频轨道外,还可以在上面覆盖layer,以添加水印、动画等。想想新闻联播下面转圈的地球,这种效果没有layer还真不好做AVVideoCompositionCoreAnimationTool AVVideoCompositionCoreAnimationTool用来在 video composition 中混合 Core Anima原创 2016-06-25 12:52:47 · 2433 阅读 · 0 评论 -
CIImage CGImage UIImage 区别
我看见有人说,“不知道苹果怎么想的,搞了这么多乱七八糟的图片格式,转换起来很麻烦”,然后把大量的精力放在了格式转换上,真是醉了。此处不写方法,谨写些区别。CIImage 包含了创建图片的所有必要的数据,但其本身没有渲染成图片,它代表的是图像数据或者生成图像数据的流程(如滤镜);CGImage是基于像素的矩阵,每个点都对应了图片中点的像素信息;UIImage 管理图片数据,主要用来展现,如 UIIma原创 2016-05-17 15:00:08 · 4185 阅读 · 0 评论 -
形象一点,view和layer的坐标
view的frame由bounds和center共同决定。概念不说,只打比方: 决定一张纸的大小的属性是长宽,这是bounds.size; 如今这张纸的中心位置钉着个图钉,若把这张纸钉在墙上,只需要知道图钉相对于墙的位置,这是center; 现在要在这张纸上的某个坐标画个点,那应该知道这个坐标系的原点在哪,这是bounds.origin。大小不说,layer的位置由position和ancho原创 2016-04-29 17:31:27 · 590 阅读 · 0 评论 -
dequeueReusableCellWithIdentifier: forIndexPath: 获取cell
在自定义cell的情况下,dequeueReusableCellWithIdentifier:方法获取的cell可能为空,需要代码判断,手动加载cell的xib文件。而dequeueReusableCellWithIdentifier: forIndexPath: 方法获取的cell不会为空。使用步骤为: 1.在tableView初始化时,向tableView注册重用identifier[_tab原创 2015-12-19 15:29:25 · 1409 阅读 · 0 评论 -
iOS 原生扫码
iOS 可以自己识别二维码,完全不用去找第三方文件。 摄像头用AVFoundation来实现:@property (strong, nonatomic) AVCaptureSession *session;//整个捕捉过程的中心@property (strong, nonatomic) AVCaptureDeviceInput *inputDevice;//输入设备@property (str原创 2015-10-21 20:07:30 · 1235 阅读 · 0 评论 -
iphone利用UIPopoverPresentationController实现popover
有时候不是方法难,而是找方法难。一旦找到了好的方法,有了明确的方向,剩下的就只是时间问题了。 +—————————————————————- 关于iphone实现popover的效果,网上大多资料都是利用别人写好的库来实现。其实ios8之后有了新方法UIPopoverPresentationController,可以直接实现的。 UIPresentationController管理了所有的U原创 2015-10-21 18:45:25 · 4019 阅读 · 1 评论 -
扫码登录的简易实现
开发环境为:tomcat服务器,ios客户端服务器 服务器是这个设计的核心,基本思路如下: 1、在一个工具类中,用一个静态map nameAndPasswordHashMap模拟若干个用户,用一个静态map uuidAndUserHashMap表示二维码uuid与用户的对应关系,用一个静态map UserStatHashMap表示用户是否扫描与是否确认登录。 2、当用户打开显示二维码的页原创 2015-10-21 21:44:28 · 11070 阅读 · 0 评论 -
模态视图总结
学习知识时应从小到大,总结知识时应从大到小。(整体与局部) 模态视图是在当前视图上弹出一个新视图,并且还可以再弹回去,这两个过程就是模态视图中的两个最重要函数://用于弹出viewControllerToPresent这个视图,后两个参数表示:是否有动画,回调函数-(void)presentViewController:(UIViewController *)viewControllerToPr原创 2015-06-05 17:07:32 · 490 阅读 · 0 评论 -
CAMediaTiming的时间系统及动画暂停示例
相对时间 CAMediaTiming的时间是分层的,相对独立的,这样保证了每个图层/动画都有自己的时间,可以独立地加速、延时、偏移beginTime是与父图层/父动画开始的间隔;timeOffset是在父图层/父动画偏移的基础上进行的偏移;speed是在父图层/父动画速度的基础上进行的加速全局时间(机器时间)、本地时间 视频的时间系统可以暂停、倒退,是从0开始的;动画在设置好fromV原创 2016-06-24 18:05:45 · 1474 阅读 · 0 评论