<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iOS_ZCP的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iOS_ZCP</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iOS_ZCP]]></copyright><item><title><![CDATA[UIView动画实现登录页面的UI控件逐渐向上移动并显示]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/119863473</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/119863473</guid><author>iOS_ZCP</author><pubDate>Mon, 23 Aug 2021 10:16:09 +0800</pubDate><description><![CDATA[(void)showAnimation {
//用来存储所有UI控件的alpha值
_objectsAlpha = [NSMutableArray array];
// animationObjects 是做动画的的所有UI控件
for (UIView *animationObject in self.animationObjects) {
  [_objectsAlpha addObject:@(animationObject.alpha)];
  CGRect animationObjectRect..]]></description><category></category></item><item><title><![CDATA[swiper由于数量过多卡顿的解决方法]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/113995851</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/113995851</guid><author>iOS_ZCP</author><pubDate>Tue, 23 Feb 2021 16:55:45 +0800</pubDate><description><![CDATA[当数据源hourarr数量大的时候，会出现卡顿现象。把swiper-slide改成swiper-item，就解决卡顿问题。

]]></description><category></category></item><item><title><![CDATA[xcode 定义自己的快速文件模版]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/101367670</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/101367670</guid><author>iOS_ZCP</author><pubDate>Wed, 25 Sep 2019 15:39:11 +0800</pubDate><description><![CDATA[xcode创建新类文件时，系统默认自带一些代码

然后每次都要删掉这些注释和多余自己不需要的代码，再去添加一些常规代码。这就很烦很花时间了。那我们可以自定义模板，然后一创建出来的类文件，就自带常规代码。
Xcode 文件模版的存放地址：/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/L...]]></description><category></category></item><item><title><![CDATA[使用MLeaksFinder检查内存泄露]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/100983308</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/100983308</guid><author>iOS_ZCP</author><pubDate>Wed, 18 Sep 2019 15:06:43 +0800</pubDate><description><![CDATA[导入方案
1.通过 cocoaPods 导入工程
2.手动下载项目源码拖进项目
导入后重新运行项目，然后逐个进入页面，退出页面，如果退出某个页面时，有弹窗，说明这个页面有内存泄露，有对象没被释放。

然后检查这些类对象有没有循环引用，一般造成循环的：
一.NSTimer 的 target 指向 self，然后 self 又持有 timer，所以我们可以把 target 指向中间者。
1.）Weak...]]></description><category></category></item><item><title><![CDATA[前端，小程序通过view显示带 emoji 的复合文本]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89874536</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89874536</guid><author>iOS_ZCP</author><pubDate>Mon, 06 May 2019 09:41:51 +0800</pubDate><description><![CDATA[首先每个emoji 表情有保存到服务器，可以通过 URL 访问，如
http://…/em001
1.将带 emoji 标签复合文本字符串（如：你好，em001），分割成纯文本和 emoji 标签文本，并装进数组。方法如下
/**
根据说说内容，将文本、表情切分为数组
@param {string} content 说说源内容
*/
function messageContentArray  (c...]]></description><category></category></item><item><title><![CDATA[使用wepy框架开发时 创建微信小程序项目]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89708275</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89708275</guid><author>iOS_ZCP</author><pubDate>Tue, 30 Apr 2019 14:14:55 +0800</pubDate><description><![CDATA[1.首先 在桌面（自己选定目录下）新建一个文件夹，注意需要使用英文名。
2.Cd中  进入到该文件目录下
3.安装 wepy 命令行工具。
npm install wepy-cli -g
4.在开发目录生成开发DEMO。
wepy new myproject
或1.7版本后执行wepy init standard myproject

输入创建的名字、AppID、项目名称、作者等之后，这个时候文件...]]></description><category></category></item><item><title><![CDATA[sublime 中安装这个插件 vue-syntax-highlight 但是还是没有vue高亮]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89706348</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89706348</guid><author>iOS_ZCP</author><pubDate>Tue, 30 Apr 2019 11:44:03 +0800</pubDate><description><![CDATA[你就点工具栏的 视图(view) =&gt; 语法(syntax) =&gt; 然后选择’vue Component’就好了
这样就是永久的选定了

]]></description><category></category></item><item><title><![CDATA[mac 版 sublime 3安装插件]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89704593</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89704593</guid><author>iOS_ZCP</author><pubDate>Tue, 30 Apr 2019 10:31:33 +0800</pubDate><description><![CDATA[1.安装 Sublime Text 3
下载地址：http://www.sublimetext.com/3
2.安装 Package Control
这个是精华所在，以后用到的插件都要借助这个工具来安装。打开已经安装好的 Sublime Text 3，然后点击顶部菜单的View -&gt; Show Console）。

在弹出的输入框里复制粘贴下面的代码：
或者直接打开这个页面：https://...]]></description><category></category></item><item><title><![CDATA[Xcode一些Analyze分析的错误]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89488984</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89488984</guid><author>iOS_ZCP</author><pubDate>Wed, 24 Apr 2019 11:16:47 +0800</pubDate><description><![CDATA[1.错误：User-facing text should use localized string macro

给label赋值的时候，提示
面向用户的文本应该使用本地化的字符串宏
此为代码中配置了本地化,面向用户的应该用字符串宏,而我们直接赋值为汉字.
解决方法：

2.Property of mutable type ‘NSMutableArray’ has ‘copy’ attribute...]]></description><category></category></item><item><title><![CDATA[iOS固定图片高度，宽度自适应缩放]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89448956</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89448956</guid><author>iOS_ZCP</author><pubDate>Mon, 22 Apr 2019 11:48:32 +0800</pubDate><description><![CDATA[当后台返回一张图片，但没有返回图片宽高尺寸时，需要我们 APP 来处理自适应显示。
1.首页我们可以在图片下载完的回调里，计算宽高，然后自己计算比例进行缩放。
2.如果是图片是显示在 tableview 或 collection 的 cell 里，需要把这个计算的宽高缓存起来，不能在滑动时重复计算这些。
//获取图片尺寸时先检查是否有缓存(有就不用再获取了)
if (![[NSUserDefaul...]]></description><category></category></item><item><title><![CDATA[tableview的一种缓存高度方法]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89445741</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89445741</guid><author>iOS_ZCP</author><pubDate>Mon, 22 Apr 2019 09:38:13 +0800</pubDate><description><![CDATA[@property(nonatomic,strong)NSMutableDictionary*heightAtIndexPath;//缓存高度所用字典
#pragma mark - UITableViewDelegate-(CGFloat)tableView:(UITableView*)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath*...]]></description><category></category></item><item><title><![CDATA[使用performSelector做消息分发]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89400729</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89400729</guid><author>iOS_ZCP</author><pubDate>Fri, 19 Apr 2019 15:11:33 +0800</pubDate><description><![CDATA[一、应用场景
1、performSelector是运行时系统负责去找方法的，在编译时候不做任何校验；如果直接调用编译是会自动校验。Cocoa支持在运行时向某个类添加方法，即方法编译时不存在，但是运行时候存在，这时候必然需要使用performSelector去调用。所以有时候如果使用了performSelector，为了程序的健壮性，会使用检查方法- (BOOL)respondsToSelector...]]></description><category></category></item><item><title><![CDATA[iOS切圆角的方式]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89395384</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89395384</guid><author>iOS_ZCP</author><pubDate>Fri, 19 Apr 2019 10:53:42 +0800</pubDate><description><![CDATA[第一种方法:通过设置layer的属性（同时使用cornerRadius，masksToBounds会造成离屏渲染）
最简单的一种,但是很影响性能,一般在正常的开发中使用很少.
UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
//只需要设置layer层的两个属性
/...]]></description><category></category></item><item><title><![CDATA[xcode自定义代码块]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89379622</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89379622</guid><author>iOS_ZCP</author><pubDate>Thu, 18 Apr 2019 15:19:22 +0800</pubDate><description><![CDATA[**
如何自定义代码块
**
1 .选中一行代码右键 crate code snippet
2.右上角方框快速进入

iOS Xcode自定义代码块迁移
Command + Shift + G. 前往如下路径的文件夹
路径 : ~/Library/Developer/Xcode/UserData/CodeSnippets
把文件夹内部的文件复制, 粘贴到另一台电脑的Xcode同样的文件夹中即可
重...]]></description><category></category></item><item><title><![CDATA[+ load与+ initialize的异同]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89372868</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89372868</guid><author>iOS_ZCP</author><pubDate>Thu, 18 Apr 2019 10:17:00 +0800</pubDate><description><![CDATA[initialize 方法：这个方法会在第一次初始化这个类之前被调用，我们用它来初始化静态变量。

1.+initialize方法是在main函数之后调用的；
2.+initialize方法遵从懒加载方式,只有在类或它的子类收到第一条消息之前被调用的;
3.子类中不需要调用super方法，会自动调用父类的方法实现；
4.+initialize只调用一次,init可多次调用.
load 方法会在加...]]></description><category></category></item><item><title><![CDATA[导入第三方库头文件后调用方法有些提示有些没提示]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89371466</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89371466</guid><author>iOS_ZCP</author><pubDate>Thu, 18 Apr 2019 09:28:02 +0800</pubDate><description><![CDATA[选择Target -&gt; Build Settings 菜单，找到\”User Header Search Paths\”设置项
一开始没有值
新增一个值"${SRCROOT}"，并且选择\”Recursive\”

]]></description><category></category></item><item><title><![CDATA[多线程的应用场景]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89355192</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89355192</guid><author>iOS_ZCP</author><pubDate>Wed, 17 Apr 2019 14:18:24 +0800</pubDate><description><![CDATA[GCD线程间通信
//0.获取一个全局的队列
dispatch_queue_tqueue = dispatch_get_global_queue(0,0);
//1.先开启一个线程，把下载图片的操作放在子线程中处理
dispatch_async(queue, ^{
//2.下载图片
NSURL*url = [NSURLURLWithString:@“http://h.hiphotos.baidu....]]></description><category></category></item><item><title><![CDATA[使用UIImageView实现加载GIF图片]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89355141</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89355141</guid><author>iOS_ZCP</author><pubDate>Wed, 17 Apr 2019 14:17:15 +0800</pubDate><description><![CDATA[gif图片一定不要放在项的Images.xcassets中，放在项目其它地方就可以
NSURL *fileUrl = [[NSBundle mainBundle] URLForResource:@“1” withExtension:@“gif”];//加载GIF图片
CGImageSourceRef gifSource = CGImageSourceCreateWithURL((CFURLRef)...]]></description><category></category></item><item><title><![CDATA[NSTimer不一定精确]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89355065</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89355065</guid><author>iOS_ZCP</author><pubDate>Wed, 17 Apr 2019 14:15:34 +0800</pubDate><description><![CDATA[(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if(!_timer) {
  _timer = [NSTimer scheduledTimerWithTimeInterval:1.0target:self selector:@selector(logInfo) userInfo:nil repeats:YES]...]]></description><category></category></item><item><title><![CDATA[Mac自带的本地服务器的使用]]></title><link>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89223344</link><guid>https://blog.youkuaiyun.com/iOS_ZCP/article/details/89223344</guid><author>iOS_ZCP</author><pubDate>Fri, 12 Apr 2019 00:27:57 +0800</pubDate><description><![CDATA[打开终端，开启Apache:

//开启apache: sudo apachectl start
//重启apache: sudo apachectl restart
//关闭apache: sudo apachectl stop
回车会提示输入密码，也就是你电脑的密码，http://127.0.0.1/测试一下，页面显示It work，就是本地服务器打开了。

点击Finder,然后Comma...]]></description><category></category></item></channel></rss>