周总结开发中遇到的小知识点(2019.01.14-2019.01.19)

Posted weicyno-1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了周总结开发中遇到的小知识点(2019.01.14-2019.01.19)相关的知识,希望对你有一定的参考价值。

本周还是比较轻松的,小程序开发也接近了尾声,就是一些简单的修改了。我也就有了时间来回归老本行,重写ios。这周我花了一些时间来把之前仿写的Swift项目完成。这个应用比较简单,但是实用点还是不少的。下面听我一一道来。

首先是搭建框架,在之前OC中我有自己的一套框架,用起来比较顺手。于是在swift中我也准备弄一套类似的框架。在最开始我失败了。在我创建父控制器的时候,我创建新的子控制器继承他发现不能自动生成viewdidload()方法。后来慢慢就好了,这应该是编译器的问题。靠苹果自己解决了。

然后是声明一些常见的宏定义,这个就比较简单了。只需要声明一个文件即可,但是需要注意写法

 

接下来就是重点了。由于这个项目我打算纯swift编写,于是一些之前常用的三方库都不能使用了。我就只能在github上查找一些比较好用的Swift库。

pod Alamofire
pod Kingfisher
pod "ESTabBarController-swift"
pod GTMRefresh
pod SnapKit
pod SwiftyJSON
pod XHToastSwift
pod JXPhotoBrowser

这里面涵盖了网络请求、图片加载、下拉刷新、数据存储、页面创建、图片查看等等常见功能,基本上常见APP上的功能都可以靠它们实现。使用方法我就不在这里贴出了。可以去网上查找,也可以去我的github上下载我的项目。

在这个项目中我使用了tableview和collectionView这些常见列表,进行了数据存储、加载查看保存图片,网络请求、数据解析。在开发中也遇到了一些困难。在下面我就把这些问题和解决方法一一列出。

1.navigation添加搜索框 

navigationItem的titleView不能直接设置成searchbar。

原因如下,如果设置成searchbar设置frame之类的会变形,且不好监控。这时候我们可以先设置一个UIView,在UIView上添加searchbar,然后后UIView设置为titleView。

2.navigation添加搜索框取消第一响应

这个就是我自己的问题了。是我自己开始没考虑对方向。我在父控制器中添加了点击手势,再点击的时候取消第一响应。

self.view.endEditing(true)

可是我在这里失败了,我开始没想到为什么,于是我在viewWillDisappear()中也写了上面的代码,还是不行。

最后我终于想到了为什么。self.view不包括导航栏

override func endEditingAction() {
        self.view.endEditing(true)
        self.navSearchBar.resignFirstResponder()
        // 或者 self.navSearchBar.endEditing(true)
    }

3.设置edgesForExtendedLayout

在oc中我一般把这个设置为none来使坐标原点从(0,0)变到(0,64)。于是在父控制器中我也就写了这个,结果坐标原点从(0,64)变到了(0,128)。

下面我写几个比较好的博客,如果你这个理解不清楚的可以看一下

参考文档:博客一博客二

以上是关于周总结开发中遇到的小知识点(2019.01.14-2019.01.19)的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 周总结开发中遇到的小知识点(2018.12.17-2018.12.22)

iOS - 周总结开发中遇到的小知识点(2018.12.10-2018.12.15)

iOS - 月总结开发中遇到的小知识点(2020.04)

Python之——遇到的小知识点总结

20165322 第八周学习总结

iOS开发中遇到的小问题-----总结