项目笔记


百思第三天广告界面


思考:广告界面是通过LaunchScreen还是通过什么搭建的

答:是通过加载控制器搭建的:因为LaunchScreen原理只是一个截图,不能绑定类,通过控制器给用户一个正在加载的错觉而已,view的逻辑交给控制器管理

界面搭建思如:添加广告界面 -> 获取广告数据 -> 广告数据是经常改变,活数据 -> 服务器提供数据 -> 向服务器拿数据 -> 接口文档:用于和服务器打交道 -> 判断下接口是否正确,尝试用网页去获取 -> 尝试解析网页获取数据 -> AFN -> 解析数据 -> 字典转模型 -> 把模型数据展示到界面

1.屏幕要做适配

  • 设置启动图片,并且适配,发现没用,直接往项目拖,第三方框架用cocoapodscha,(读,扣扣POS)
  • 去网页获取数据,API-->广告接口-->每次进入程序时展示的广告页数据,点击后是否跳转,拿到跳转后的数据-->去百度搜json在线解析,在线代码格式化-->拿到ad,其他没用-->拿到跳转网址,屏幕宽度,长度,-->拿到跳转后上面的网址-->常驻安全协议ios9支持https,配置APP trans-->服务器给了AFNhtml数据不是json数据,AFN不解析数据, 报这个错误unacceptable content-type: text/html
  • 拼接数据后发送请求.解析数据
    • 创建模型拿到数据字典responseObject转化为模型,拿到模型中的数据设置广告界面-->用SDWebImage下载图片到创建UIImageView中-->添加点按手势tap打开网页:判断是否能打开,到点就弹到点击跳转按钮哪里
    • 先搭建简单模块.发现设置多次效果的时候,能不能找规律,统一设置

2.新帖

  • 接口文档 -> 请求数据 -> 解析数据 -> 设计模型 -> 字典转模型 -> 展示模型内容 -> 处理内容细节(1.处理头像圆 2.订阅数处理) -> 分割线 -> 请求业务逻辑
  • 创建一个xib设定XMGSub的subTableCell,在subCell中拿到模型属性赋值-->当过万时显示%.1f万人-->设置圆角,拿到网络图片设置上下文绘制 设置分割线(三种方法: 1.添加一个view 2.先取消分割线间距self.tableView.separatorInset = UIEdgeInsetsZero;在取消cell的间隙self.layoutMargins = UIEdgeInsetsZero;只能支持ios8. 3.系统加载的时候已经把cell的高度计算好了,所以在减少cell的高度就会有个全局分割线,在取消系统的分割线self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;设置背景颜色就行了)
  • 根据AFN拿到网络数据,在viewDidLoad中给用户一个提示正在加载,当加载完时隐藏指示器,当view即将消失时取消请求

知识补充

  • 抗锯齿:self.iconView.image = [image imageAntialias];

3.关注

发现关注界面是静态的,所以通过xib加载并设置跳转登录界面
复杂界面:1.先划分结构(3部分:顶部,中间,底部)2.添加对应占位视图
当用代码防止图片拉伸在awakeFromNib中进行,记得对xib进行尺寸固定
让整个contentView向左边移动形成切换注册效果

知识补充

  • 如果一个控件要设置frame,最后不要再viewDidLoad,在viewDidLayoutSubviews.
  • [self.view layoutIfNeeded];用父控件重新布局是因为约束会互相影响
原文地址:https://www.cnblogs.com/xieyunqq/p/5147067.html