4 首页布局

  • 欢迎界面
    在新特性模块下创建welcomeViewController
    加载背景 头像
  • 切头像
    cornerradius
    maskbound
  • 在viewDidAppear中做动画
    记得先super
    动画 uiview usingspringwitgdamping
    self.view.layoutifneeded
    技巧:self.iconcaonstait = view.constraits.last //(记录最后一个添加进约束数组的属性)
  • 显示网络头像
    加载网络头像 用SDweb
    方法需要传入url 在viewmodel(逻辑处理)中添加返回方法
    加载出来的头像太大了 (设置头像宽高约束)
  • 界面切换
  • 获取版本号
    在appdegate添加判断是否是新版本方法
    如果是新版本 显示新特性
  • 设置启动控制器
  • 欢迎界面显示完成后 进入主界面
    share.keywindow(但是不好 越权)
    可以用通知切换控制器
    通知中 object 属性: 监听哪个对象发出的通知
    通知是同步的
    动画完成之后,再切换控制器能保证控制器完全销毁
  • 先查看服务器返回数据:是有status ad ....
    创建statueslistViewModel处理数据(组视图模型:返回用户模型数组)
    创建status对象模型 (单条微博视图模型:处理单条微博头像,会员,图片)
  • 在视图模型中加载statues数据()
    mvvm中视图控制器不能直接引用模型 所以需要视图模型
  • 微博数据字典转模型
  • 传递模型视图
    修改默认cell 为自定义cell
    创建微博cell视图模型(statusViewModel)
    视图模型 引用模型
    var status:Status //微博对象
    init(status:Status){
    self.status = Status
    super.init() //先本类初始化后 调用父类初始化方法
    }
    然后再statusListViewModel中
4 首页布局_第1张图片
屏幕快照 2015-11-16 下午8.30.21.png

替换成 statusViewModel

4 首页布局_第2张图片
屏幕快照 2015-11-16 下午8.32.24.png

在cell模型中定义statusViewModel属性(用于接收控制器传来的数据)

4 首页布局_第3张图片
屏幕快照 2015-11-16 下午8.37.59.png

存储性属性 计算型属性
var xxx:xx = {}() //存储性属性
var xxx:xx{
return xxx
} // 计算型属性(需要考虑性能)(就是实现了get方法)

var title: String {
return "Mr " + (name ?? "")
}

  • 文本自动换行

你可能感兴趣的:(4 首页布局)