iOS随笔二
2017-11-14 本文已影响9人
投降又不会赢
最近想看一下环信,然后下载了环信的示例代码。自己创建了一个工程,结果刚创建完成之后,选择了Deployment Target
支持8.0
的时候,Xcode报了个错.
![](https://img.haomeiwen.com/i2657235/017b708ed151a4f6.png)
解决错误的方法有两种,一种是勾选灰色框,不使用Safe Area
一种是选择
Builds for iOS 11.0 and Later
推荐使用 后者![](https://img.haomeiwen.com/i2657235/b1783d9518f1cbda.png)
准备集成一些第三方库,因为我不经常使用cocoapods
所以第三方一般都是自己手动拖进项目中的。仅仅是拖进来一个MJRefresh
就有很多警告了,大多是文档中的警告,这种类型的警告移除很简单~按照下图进行设置即可
![](https://img.haomeiwen.com/i2657235/ec43a011cdd3da56.jpeg)
自己的工程基本配置完成之后,看了下环信的示例代码,不得不说看源码真的是一种享受。在环信的LoginVC
中有一句代码
![](https://img.haomeiwen.com/i2657235/9bc2c4e60d495a18.png)
setupForDismissKeyboard
看起来就是让键盘落下的方法。那么他是如何实现的呢?在环信的Category
的文件夹中有一个ViewController
的扩展。里面实现了该方法.![](https://img.haomeiwen.com/i2657235/fa5629af0ef74445.png)
基本原理就是添加观察者,在键盘弹出和落下事件中,添加/移除手势.在写项目的时候,可以借鉴这种写法。或者使用
IQKeyBoardManager
的对象方法shouldResignOnTouchOutside
来点击背景收起键盘。