<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Erice_e的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Erice_e</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Erice_e]]></copyright><item><title><![CDATA[Photos 框架实践以及坑]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/82217794</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/82217794</guid><author>Erice_e</author><pubDate>Thu, 30 Aug 2018 10:46:45 +0800</pubDate><description><![CDATA[导读

对于 Photos 框架的介绍，推荐观看 objccn.io 的文章。写得真好，我写得的文章水准还差得老远啊。本文总结了近期使用 Photos 框架编写一个相册的经验，目前还有很大一部分的框架内容没有涉及到，后续会更新内容。

获取资源

照片库中有两种资源可供获取：PHAsset和PHCollection，前者代表图像或视频对象，后者是前者的集合或自身类型的集合。PHCollection...]]></description><category></category></item><item><title><![CDATA[关于改变UIProgressView的宽、高以及两端弧度]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/81288754</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/81288754</guid><author>Erice_e</author><pubDate>Mon, 30 Jul 2018 17:23:55 +0800</pubDate><description><![CDATA[self.progressView = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleDefault];//这里是设定progressView的模式为默认模式 self.progressView.frame = CGRectMake(16, CGRectGetMaxY(label1.frame) + 15,...]]></description><category></category></item><item><title><![CDATA[masnory 宽度自适应]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/81282754</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/81282754</guid><author>Erice_e</author><pubDate>Mon, 30 Jul 2018 12:00:11 +0800</pubDate><description><![CDATA[当 label想要宽度自适应时 加上下面的话 
“Content Compression Resistance”和“Content Hugging”

1.宽度不够时


[_label1 setContentCompressionResistancePriority:UILayoutPriorityRequired
                                        ...]]></description><category></category></item><item><title><![CDATA[iOS 构建一个容器控制器]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/81219161</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/81219161</guid><author>Erice_e</author><pubDate>Thu, 26 Jul 2018 14:12:32 +0800</pubDate><description><![CDATA[容器视图控制器是一种结合多个视图控制器的内容到一个单一的用户界面上的方式。容器视图控制器经常被用来使导航更方便，基于已经存在的内容创建一个新的用户界面类型。例如，在UIKit中的容器视图控制器包括UINavigationcontroller，UITabBarcontroller 和 UISplitViewcontroller，它们都可以使用户界面在不同视图部分之间的切换和导航更加的容易。

 

...]]></description><category></category></item><item><title><![CDATA[git rebase 理解]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/80913192</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/80913192</guid><author>Erice_e</author><pubDate>Wed, 04 Jul 2018 15:12:38 +0800</pubDate><description><![CDATA[原文：http://gitbook.liuhui998.com/4_2.html一、基本git rebase用于把一个分支的修改合并到当前分支。假设你现在基于远程分支&quot;origin&quot;，创建一个叫&quot;mywork&quot;的分支。$ git checkout -b mywork origin假设远程分支&quot;origin&quot;已经有了2个提交，如图 现在我们在这个分支做一些修改，然后生成两个提交(commit).$ ...]]></description><category></category></item><item><title><![CDATA[iterm2 高亮配色 设置]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/80895938</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/80895938</guid><author>Erice_e</author><pubDate>Tue, 03 Jul 2018 11:29:49 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/43613289eb6e参考上边的链接设置 高亮配色，下载主题]]></description><category></category></item><item><title><![CDATA[插入排序 代码]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/80695836</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/80695836</guid><author>Erice_e</author><pubDate>Thu, 14 Jun 2018 17:24:59 +0800</pubDate><description><![CDATA[int optimizationInsertionSort(){        int arry[] = {3,5,6,9,4,1,2,7,8};        int len = sizeof(arry)/sizeof(arry[0]);        int i,j,temp;        for (i = 1; i&amp;lt;len; i++)    {        temp = arry[...]]></description><category></category></item><item><title><![CDATA[Swift 修饰符]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/80250527</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/80250527</guid><author>Erice_e</author><pubDate>Wed, 09 May 2018 10:55:17 +0800</pubDate><description><![CDATA[*1. open:可以在任何地方访问、继承和重写*2. public:可以在任何地方被访问，在其他module中不能被继承和重写(一会在详细介绍一下什么是module内和module外)*3. internal:默认访问级别，在整个模块内都可以被访问*4. fileprivate:其修饰的属性可以再同一个文件被访问、继承和重写，同一个文件指同一个swift文件，一个文件中可以有多个类private...]]></description><category></category></item><item><title><![CDATA[__nullable 消除]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/79931336</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/79931336</guid><author>Erice_e</author><pubDate>Fri, 13 Apr 2018 16:48:58 +0800</pubDate><description><![CDATA[警告；Pointer is missing a nullability type specifier.....我觉得我是一个强迫症，写完代码都会去去掉所有的警告，，，（有的我也去不掉好闹心）今天介绍一个警告的去掉方法。例子：刚刚遇见这个警告的时候脑子有点蒙，这是为什么呢，，我觉得写法没什么问题的说，后来经过多番查找，发现这是Xcode 6.3的一个新特性，即nullability annotati...]]></description><category></category></item><item><title><![CDATA[MQTT - iOS实现]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/79867031</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/79867031</guid><author>Erice_e</author><pubDate>Mon, 09 Apr 2018 15:17:56 +0800</pubDate><description><![CDATA[最近在使用MQTTClient实现一个类似于消息推送的服务，说实话，真没怎么使用过MQTTClient，也不知道这是个啥？  上网了解了一下，发现MQTT功能挺强(牛)大(逼)，既能做即时通讯，又能搞消息推送等功能。这里我使用的是消息推送服务，通过和服务器端协商，终于能够与服务器连接，并且能够收发消息了。 所以，简单总结了一下，有了这篇文章。MQTT介绍MQTT MQTT基于订阅者模型架构，客户端...]]></description><category></category></item><item><title><![CDATA[performSelector系列方法编译器警告-Warc-performSelector-leaks]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/79582453</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/79582453</guid><author>Erice_e</author><pubDate>Fri, 16 Mar 2018 15:31:29 +0800</pubDate><description><![CDATA[更新：如果selector是属性的get方法，而且是在运行时才确定的话，比较好的作法应该是使用KVC来获取，最近我正在看KVC的官方文档，之后会把学习笔记发布出来如果selector是在运行时才确定的，performSelector时，若先把selector保存起来，等到某事件发生后再调用，相当于在动态绑定之上再使用动态绑定，不过这是编译器不知道要执行的selector是什么，因为这必须到了运行时...]]></description><category></category></item><item><title><![CDATA[#pragma clang diagnostic ignored]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/79582415</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/79582415</guid><author>Erice_e</author><pubDate>Fri, 16 Mar 2018 15:29:43 +0800</pubDate><description><![CDATA[clang diagnostic、Wprotocol 首先, #pragma 本质上也是声明，一般常用的功能就是打注释、尤其是分段注释但是#pragma 另外一个强大的功能就是处理编译器警告，用的时候可能就没上一个功能用的那么多，在代码中处理警告却是极其高效的方法。其中 clang diagnostic 便是#pragma 第一个功能常用的命令，步骤如下[java] view plain copy...]]></description><category></category></item><item><title><![CDATA[boundingRectWithSize 文本表情计算]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/79567308</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/79567308</guid><author>Erice_e</author><pubDate>Thu, 15 Mar 2018 14:15:56 +0800</pubDate><description><![CDATA[在IOS开发中例如微博，QQ聊天界面中要显示大量的文字信息，这样需要计算出文字部分的尺寸，才能设计出合适的控件尺寸和位置。下面是IOS 7.0计算文本尺寸的方法。- (CGRect)boundingRectWithSize:(CGSize)size 
                       options:(NSStringDrawingOptions)options 
          ...]]></description><category></category></item><item><title><![CDATA[iOS 视频转gif]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/79470645</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/79470645</guid><author>Erice_e</author><pubDate>Wed, 07 Mar 2018 14:27:17 +0800</pubDate><description><![CDATA[zhaoxiaoga/XGVideoToGIF这是一个随时录视频 随时转gif得demo 支持查看gifMIT licenseUpdated on 25 Mar 2015 Objective-C 21doubleYang1020/VideoToGIFiOS开发中将视频文件转换为gif图并设置gif压缩尺寸Updated on 17 Aug 2017 Objective-C 11NJHu/iOSPr...]]></description><category></category></item><item><title><![CDATA[removeObject和removeObjectIdenticalTo]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/52471872</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/52471872</guid><author>Erice_e</author><pubDate>Wed, 07 Mar 2018 11:19:59 +0800</pubDate><description><![CDATA[[array removeObject:(id)] :删除数组中指定元素，根据对象isEqual消息判断。[array removeObjectIdenticalTo:(id)] : 删除数组中指定元素,根据对象的地址判断[array removeObjectIdenticalTo:(id) inRange:(NSRange)] : 在指定范围内删除指定的元素。[array removeObjec...]]></description><category></category></item><item><title><![CDATA[iOS 视频录制 转码 压缩 上传]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/78932319</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/78932319</guid><author>Erice_e</author><pubDate>Fri, 29 Dec 2017 15:49:47 +0800</pubDate><description><![CDATA[最新做的一个功能涉及到了视频的录制、压缩及上传。根据网上诸多大神的经验，终于算是调通了，但也发现了一些问题，所以把我的经验分享一下。


首先，肯定是调用一下系统的相机或相册




代码很基本：








[objc] view
 plain copy


 


 



//选择本地视频  
- (void)choosevide]]></description><category></category></item><item><title><![CDATA[iOS 导航栏透明度 监听导航栏返回进度]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/78864125</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/78864125</guid><author>Erice_e</author><pubDate>Thu, 21 Dec 2017 15:18:14 +0800</pubDate><description><![CDATA[如我在传送门：iOS导航栏切换界面时隐藏和显示中所说，现在很多App的个人中心模块都是不保留导航栏的，会直接使导航栏透明，比如做的很好的QQ个人信息界面：



为什么说QQ做的很好呢？既然有透明的导航栏也有不透明的导航栏，那一定会在界面切换之间存在一个过渡的过程，而这个过程，QQ做的特别好，在从透明导航栏界面返回到不透明导航栏界面时，导航栏的透明度是一个渐进的过渡效果，甚至会有一种毛玻璃]]></description><category></category></item><item><title><![CDATA[iOS音频篇：使用AVPlayer播放网络音乐]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/78794424</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/78794424</guid><author>Erice_e</author><pubDate>Wed, 13 Dec 2017 17:32:40 +0800</pubDate><description><![CDATA[iOS音频篇：使用AVPlayer播放网络音乐

 

明仔Su 关注

2016.03.19 15:26* 字数 1942 阅读 22003评论
 36喜欢 182




引言
假如你现在打算做一个类似百度音乐、豆瓣电台的在线音乐类APP，你会怎样做？
首先了解一下音频播放的实现级别：
(1) 离线播放：这里并不是指应用不联网，而是指播放本地音频文件，包括先下完完]]></description><category></category></item><item><title><![CDATA[iOS 视频压缩]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/78703776</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/78703776</guid><author>Erice_e</author><pubDate>Sun, 03 Dec 2017 20:14:30 +0800</pubDate><description><![CDATA[AVFoundation框架中提供了视频压缩的功能，有一些应用场景，对像素要求不高，但是需要看到视频的，可以对视频进行压缩，比如微信的小视频功能。

//压缩
- (void)compression{ 
NSLog(@"压缩前大小 %f MB",[self fileSize:_videoUrl]); 
// 创建AVAsset对象 
AVAsset* asset = [AVAsset assetW]]></description><category></category></item><item><title><![CDATA[iOS视频转码 mov 转 mp4]]></title><link>https://blog.youkuaiyun.com/Erice_e/article/details/78703728</link><guid>https://blog.youkuaiyun.com/Erice_e/article/details/78703728</guid><author>Erice_e</author><pubDate>Sun, 03 Dec 2017 20:09:16 +0800</pubDate><description><![CDATA[利用AVFoundation框架实现视频格式转码，下面以mov转mp4为例：



/**mov转mp4格式*/

-(void)convertMovSourceURL:(NSURL *)sourceUrl

{

AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:sourceUrl options:nil];

NSArray *compatib]]></description><category></category></item></channel></rss>