MAXMOO

iOSAPP从0到1博客


  • 首页

  • 归档

拓展:导航栏的灵活运用

发表于 2017-10-24 |
问题由于项目的迭代和持续开发,项目变得越来越大,对于导航栏这一块的要求也越来越高,系统导航栏早已不能满足需求(例如:透明,颜色变化,高度变化等),为了方便以后的开发和更改,一套成熟的自定义导航系统是必需的。 分析导航栏结构 使用XCode中的Debug View Hierarchy模式打开一个具有导航栏的控制器 图层显示如下图: 图层列表如下: 将二者结合起来看,找出对应关系 图中蓝色部分是设置了导航栏背景色,绿色线条指向视图UIView为自定义视图,下面会详细讲到。self.navigationController?.navigationBar.setBackgroundImage(UIImage(named:"navibar_bg_blue"), for: .default) 确定方案 由上方图层可知,控制导航栏颜色的是一个UIImageView,需要完成各 ...
阅读全文 »

第四周:Alamofire网络框架之二次封装

发表于 2017-08-25 |
目的 针对于具体项目有较完善和较方便的网络请求方案 具有统一管理请求,统一管理请求错误的能力 提高网络接口的阅读性和易更改性 清晰的模块划分,方便之后的迁移和功能添加 应实现功能 请求入口的单一化,方便管理和修改 接口的灵活性,可设置请求超时时间(有默认值),请求结果分为成功和失败两个闭包,可以取消单一请求 请求失败时有重新请求机制,与缓存的兼容性,与数据模型的易连接和转化性 考虑到请求下载或上传体积较大的文件,断点续传问题 考虑到请求在不同环境下的请求测试问题 文件分配1,`FKRequestConfig`网络请求的配置文件,配置环境、baseURl... 2,`FKRequestURL`请求的所有URL 3,`FKRequestCentral`所有请求的入口和出口 4,`FKRequestError`处理所有请求可能出现的错误解析和相应的日志记录 5,`FKRequestMana ...
阅读全文 »

第三周:Cocoapods和一些常用的第三方框架

发表于 2017-08-03 |
Cocoapods介绍开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等。手动一个个去下载所需类库十分麻烦,另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,同样也特别麻烦。 CocoaPods应该是iOS最常用最有名的类库管理工具了,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。 下载和安装在安装CocoaPods之前,首先要在本地安装好Ruby环境。如果你使用的是Mac OS X,那么Ruby运行环境是自带的,你可以打开终端输入以下指令查看Ruby的版本。 1ruby -v 在Ruby环境正确安装的情况下安装Cocoapods也将十分简单。 在终端中输入指令: 1sudo gem install cocoapods 如果输入指令后发现速度非常慢,别着急,在国内这是正 ...
阅读全文 »

第二周:Swift代码书写规范

发表于 2017-07-27 |
注意:代码中存在换行和缩进不规范的问题 命名规范通用 禁止使用拼音命名 多个相似命名中禁止出现类似lab1、lab2、lab3的情况 尽量避免“简称”和“缩略词”,通用缩略词应该整体大写或整体小写 使用驼峰式命名方式,命名使用小写字母开头,常量最好使用k开头 推荐: 12345private let maximumWidgetCount = 100class WidgetContainer { var widgetButton: UIButton let widgetHeightPercentage = 0.85} 12let urlString: URLStringlet userID: UserID 不推荐: 12345let MAX_WIDGET_COUNT = 100class app_widgetContainer ...
阅读全文 »

第一周:模块划分和文件结构的确立

发表于 2017-07-21 |
模块划分 对现有工程中的模块进行划分,方便之后文件结构的安排和工程底层框架的搭建 模块划分也有利于调整思路,更清晰的认识整体和局部,对之后的工作有着事半功倍的作用 模块划分图 图中主要有四个分支,其中三个分支较为固定,其中包括:个人中心、账户和商城,设备管理是最重要的一个分支,工程中大部分操作和功能都是围绕设备进行的 由模块划分得出的文件结构图如下文件结构体现模块划分,一个好的文件结构可以体现出工程的功能模块和结构设计 对于文件结构的几个思考 对于StoryBoard的思考 StoryBoard是可视化的图形界面编辑载体,在页面跳转逻辑上也有非常清晰的体现。其优点是显而易见的,但是在多人合作开发过程中其不足也是非常令人苦恼的,由于多人合作开发难免会同时操作StoryBoard文件,文件冲突也会时常发生,对于这点要解决最为直接的方法就是将StoryBoard进行合理的拆分,拆分后Stor ...
阅读全文 »
maxmoo

maxmoo

iOSAPP从0到1博客

5 日志
2 标签
© 2017 maxmoo
由 Hexo 强力驱动
主题 - NexT.Mist