<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[June的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/June_email</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; June_email]]></copyright><item><title><![CDATA[iOS中如何禁用系统自带的Emoji表情键盘]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/72819890</link><guid>https://blog.youkuaiyun.com/June_email/article/details/72819890</guid><author>June_email</author><pubDate>Wed, 31 May 2017 14:13:35 +0800</pubDate><description><![CDATA[TextModel]]></description><category></category></item><item><title><![CDATA[MBProgressHUD needs to be accessed on the main thread.报错的解决办法]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/65629309</link><guid>https://blog.youkuaiyun.com/June_email/article/details/65629309</guid><author>June_email</author><pubDate>Fri, 24 Mar 2017 12:22:18 +0800</pubDate><description><![CDATA[MBProgressHUD和SVP是最常见的状态显示的第三方库了，最近遇到个MB的问题，如标题所示，崩溃崩到三方库的内部了，字面意思是必须要放到主线程了，请看我最初写的代码：
-(void)showMessage:(NSString *)message{
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view anima]]></description><category></category></item><item><title><![CDATA[iOS中修改APP的名称]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/58603890</link><guid>https://blog.youkuaiyun.com/June_email/article/details/58603890</guid><author>June_email</author><pubDate>Tue, 28 Feb 2017 16:41:03 +0800</pubDate><description><![CDATA[其实很简单，不过经常是字段名称容易忘记，具体的做法是在InfoPlist.s文件里加上CFBundleDisplayName选项，类型是String,然后对应写上你想要的中文名称即可，很简单，不过这个字段的名称容易忘记，记录下，下次直接复制就好了]]></description><category></category></item><item><title><![CDATA[iOS中使用SDWebImage加载图片失败之后如何重新加载]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53897649</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53897649</guid><author>June_email</author><pubDate>Tue, 27 Dec 2016 18:00:04 +0800</pubDate><description><![CDATA[毫无疑问，SDWebImage绝对是我们平时做项目使用频率最广的第三方框架之一，良好的封装性和性能，真的是非常优秀，最近项目中使用了这个库函数加载网络图片，但是发现了一个问题，就是有时候网速不太好，比如当前的WiFi的信号不太强，这个时候图片就会加载不出来，这个本来无可厚非，网速嘛，总是有好有坏的啊，不过当切换到比较流畅的网速的时候，比如从wifi过渡到4G,这个时候惊讶的发现，之前加载失败的图片]]></description><category></category></item><item><title><![CDATA[iOS中用swift转换日期的几个通用函数]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53838976</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53838976</guid><author>June_email</author><pubDate>Fri, 23 Dec 2016 14:36:47 +0800</pubDate><description><![CDATA[由于上个项目用的日期类型的转换还是蛮多的，所以封装几个通用的函数，其实说白了也是很简单的东西，不过这次封装好方便以后的使用，以希望可以帮到别人
1：根据时间戳获取当前日期的函数：
 func getCurrentTime(timeNum:double) -> String {
        let formatter = DateFormatter()
        formatter]]></description><category></category></item><item><title><![CDATA[Swift3.0中GCD定时器的使用]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53836628</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53836628</guid><author>June_email</author><pubDate>Fri, 23 Dec 2016 11:05:01 +0800</pubDate><description><![CDATA[swift3.0语法变化之后，好多东西用法都发生了变化，最近要用到定时器，网上搜集了好多写法，最后才搞好，现分享一下，方便以后使用，也希望能帮助别人
首先，创建定时器，和之前的有所不同，代码如下：

 var timer =  DispatchSource.makeTimerSource(flags: [], queue:DispatchQueue.main)，即在主线程中创建一个定时器，该]]></description><category></category></item><item><title><![CDATA[swift3.0使用友盟分享遇到无法调出分享界面的解决办法]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53813411</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53813411</guid><author>June_email</author><pubDate>Thu, 22 Dec 2016 14:24:38 +0800</pubDate><description><![CDATA[最近使用了友盟的分享，项目是swift语言的版本，但是发现友盟的sdk版本是oc的，首先有种不详的预感啊，好吧，但是项目总是要继续完成的，按照官方文档的指点一步一步的集成，发现原来也不麻烦，无外乎添加库文件，添加编译参数之类的，一切编译都已通过，当兴冲冲的点下相应的分享按钮，预想中的分享界面并没有出现，这落差，哎，只有一步一步的重新检查，然而，经过检查并没有发现问题出现在哪里，没办法，从新把东西删]]></description><category></category></item><item><title><![CDATA[iOS中使用swift语言做淘宝的第三方登录]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53813149</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53813149</guid><author>June_email</author><pubDate>Thu, 22 Dec 2016 14:01:07 +0800</pubDate><description><![CDATA[现在第三方登录是在大部分APP都有的功能，我们最近项目中使用了淘宝的第三方登录，这个我们平时使用的较少，而且使用的是swift3.0，调用oc语法，使用过程中还是遇到了些问题，所以现在做下终结，方便下次使用
首先：淘宝的第三方的登录需要到阿里百川的官网上申请，和其他的一样，嵌入sdk之后即可调用语法，这种很常见，没什么与众不同的点，按照官方文档来即可，我所遇到的问题是，需要用swift调用obj]]></description><category></category></item><item><title><![CDATA[iOS中弹簧动画函数的解释]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53203656</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53203656</guid><author>June_email</author><pubDate>Thu, 17 Nov 2016 17:45:28 +0800</pubDate><description><![CDATA[iOS7之后，苹果新增加了弹簧动画的API，利用这个可以做出来很炫酷的效果，其实也就是一个函数，只不过苹果封装好了，这个函数挺长的，参数也多，在这里根据自己的理解解释下，首先，函数是：


  
+ (void)animateWithDuration:(NSTimeInterval)duration delay:(NSTimeInterval)delay usingSpringWithDa]]></description><category></category></item><item><title><![CDATA[Html中的列表标签]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53064799</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53064799</guid><author>June_email</author><pubDate>Mon, 07 Nov 2016 14:11:27 +0800</pubDate><description><![CDATA[Html中的列表标签无疑是前端中最重要的标签之一，本文做下简易的终结：列表标签的作用：给一堆数据添加列表语意，也就是告诉搜索引擎告诉浏览器这一堆数据是一个整体，分为 无序列表（unordered list），有序列表（ordered list），定义列表（definition list），从前到后，用处依次减少
1：无序列表：给一堆数据添加语意，并且这一堆数据中没有先后之分，格式为]]></description><category></category></item><item><title><![CDATA[HTML中常见的标签及意义(一)]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53009607</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53009607</guid><author>June_email</author><pubDate>Wed, 02 Nov 2016 17:09:23 +0800</pubDate><description><![CDATA[1：标签：双标签，网页的标志及开始，内容写在这个标签内；
2：标签：双标签，html的头标签，一些设置的东西写到这里边；
3：标签：双标签，html的内容部分，展示内容写到这里边；
4：标签：双标签，网页的标题；
5：标签：单标签，元标签，设置字符集等内容；
6：标签：单标签，单独一行的横线；
7：标签：单标签，单独另起一行；
8：标签：单标签，加载的图片，内部可以嵌套 width ]]></description><category></category></item><item><title><![CDATA[HTML的DTD文档]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53006342</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53006342</guid><author>June_email</author><pubDate>Wed, 02 Nov 2016 11:35:42 +0800</pubDate><description><![CDATA[首先说一下什么是DTD文档：
       由于历史的原因，HTML有很多的版本的规范，不同的版本有不同的差异，为了方便浏览器正确的编译解析以及渲染我们的网页，我们需要在HTML的文件的第一行告诉浏览器我们当前的网页是基于那个标准规范编写的，浏览器只有知道了我们是哪个版本的规范编写，才能正确的读取解析以及渲染
其实说一下DTD文档的声明格式：
        每一个不同的版本有不同的声明格式]]></description><category></category></item><item><title><![CDATA[Html开发中的常见标签的分类]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53006007</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53006007</guid><author>June_email</author><pubDate>Wed, 02 Nov 2016 11:13:46 +0800</pubDate><description><![CDATA[1：双标签的：即：成对出现的标签，有开始也有结束的，如等大部分常见的标签
2：单标签：只有一个单括号组成的，如标签
3：并列标签：如,标签之间，是平级的，并列的
4：嵌套标签：如 以及和标签 是父子的，上下级的]]></description><category></category></item><item><title><![CDATA[Html的基础格式]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/53005530</link><guid>https://blog.youkuaiyun.com/June_email/article/details/53005530</guid><author>June_email</author><pubDate>Wed, 02 Nov 2016 11:00:54 +0800</pubDate><description><![CDATA[首先说明一个注意点：
GBK(GB2312)和UTF-8的区别
前者是里面存储着字符比较少，仅仅存储了汉字和一些常用外文，特点是体积比较小；
后者是存储着世界上所有的文字，特点是体积比较大；
如果网站仅仅包含中文的话建议使用GB2312，因为体积小，访问速度快，否则建议使用utf-8，这样能够全部显示而不会乱码
建议直接使用utf-8，省事
网页的一般格式如下：]]></description><category></category></item><item><title><![CDATA[支付宝sdk集成过程中报 openssl/asn1.h file not found错误的解决办法]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/52797591</link><guid>https://blog.youkuaiyun.com/June_email/article/details/52797591</guid><author>June_email</author><pubDate>Wed, 12 Oct 2016 15:38:23 +0800</pubDate><description><![CDATA[最近在做集成支付宝sdk，新版支付宝的sdk集成后，有可能会报两种错误，第一种官方文档上有说，一般是base64file not found之类的，这个原因是没有导入foundation框架导致的，导入即可。另一种是如标题所说的 openssl/asn1.h file not found错误，这个也算是挺常见的一种错误，原因是搜索路径没有设置好，解决办法是选择target
 - build se]]></description><category></category></item><item><title><![CDATA[iOS中的runtime入门（一）]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/52711181</link><guid>https://blog.youkuaiyun.com/June_email/article/details/52711181</guid><author>June_email</author><pubDate>Fri, 30 Sep 2016 14:56:34 +0800</pubDate><description><![CDATA[runitme是iOS开发中的一个重要知识点，runtime简称运行时，objective-c中最主要的是消息机制，这里我们可以对比下C和OC的操作方式：C语言函数的调用在编译的时候会决定调用哪个函数，而oc中是动态调用的过程，在编译的时候并不真正决定调用哪个函数，只有在真正运行的时候才会根据函数的名称找到其相对应的函数进行调用。
  我们知道，方法调用的本质实际是让对象发送消息，我们平时使用的]]></description><category></category></item><item><title><![CDATA[Xcode8中的钥匙串保存数据取出时候为空的问题]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/52594932</link><guid>https://blog.youkuaiyun.com/June_email/article/details/52594932</guid><author>June_email</author><pubDate>Tue, 20 Sep 2016 13:11:45 +0800</pubDate><description><![CDATA[苹果还真是喜欢折腾啊，好好的钥匙串保存非要给你整出来点事，Xcode7以及之前的版本直接使用Keychain存储数据即可，具体方法可以参照下网上的，不是本文的重点，但是从Xcode开始，再用之前的方法会发现，读取不到存进去的数据了，或者说，存储不进去了，原因是苹果加强了隐私保护，这个东西需要打开开关，个人觉得苹果这样改这个keychain意义不大，解决办法如下：如下图






只]]></description><category></category></item><item><title><![CDATA[iOS10的适配(二)]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/52585486</link><guid>https://blog.youkuaiyun.com/June_email/article/details/52585486</guid><author>June_email</author><pubDate>Mon, 19 Sep 2016 14:35:03 +0800</pubDate><description><![CDATA[1 UIRefreshControl

之前的时候继承与UUISCrollView的控件添加下拉刷新的时候是没有系统属性的，主要是靠第三方的MJ或者EGO等框架，现在倒好，苹果自己搞了个刷新的属性出来，可以直接在瀑布流或者UITableView中使用，这样省去了好多事，不过要是需要自定义的话，还是要好好自定义夏refreshcontrol，简单的如下：

    UIRefreshCont]]></description><category></category></item><item><title><![CDATA[iOS10的适配(一)]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/52585255</link><guid>https://blog.youkuaiyun.com/June_email/article/details/52585255</guid><author>June_email</author><pubDate>Mon, 19 Sep 2016 14:23:26 +0800</pubDate><description><![CDATA[果然是苹果每次更新，都要引来好多改动，大修大改之际，免不得费颇多功夫，查阅一些资料踩完坑之后，现总结下适配iOS10时候的一些知识点
1：最明显的就是隐私数据访问问题，这个不适配的话，点击就会崩溃，甚至连ipa包都发不出去，主要的方法就是在info.plist文件中加入你项目中使用到的隐私选项，对比与ios8或者iOS9时代，这次的选项变得很多，主要有以下：
 
NSPhotoLibrary]]></description><category></category></item><item><title><![CDATA[Swift中如何通过KVC将自定义的UITabbar设置为UITabbarController的tabbar]]></title><link>https://blog.youkuaiyun.com/June_email/article/details/52387352</link><guid>https://blog.youkuaiyun.com/June_email/article/details/52387352</guid><author>June_email</author><pubDate>Wed, 31 Aug 2016 17:50:31 +0800</pubDate><description><![CDATA[开发中经常会自定义tabbar，将自己定义的tabbar设置为系统的tabbar有很多种方法，这里说一种最简单的方法，我们知道OC是运行时的，我们可以通过KVC来操作，
其实说白了就一句话的事，假如我们自己自己定义了一个新的tabbar叫myTabbar，这个时候设置的代码就是： 
setValue(myTabbar, forKeyPath: "tabBar"），这样就完成了，是不是很简单，就]]></description><category></category></item></channel></rss>