zoukankan      html  css  js  c++  java
  • Masonry与UITableView+FDTemplateLayoutCell搭配使用

    打个小广告:本人开发了一个宠物相关的App,欢迎大家下载体验~ 

    下载二维码:

    进入正文:

    之前发过一篇博客,也是对这两个的练习使用,但是之后遇到些问题,所以删除重写了。抱歉

    Masonry是一款轻量级的布局框架,上手简单。本文只是对此的基本使用,具体可看以下两篇技术博客:

    iOS 源代码分析----Masonry:http://draveness.me/ios-yuan-dai-ma-fen-xi-masonry/

    Masonry介绍与使用实践(快速上手Autolayout):http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/

    Masonry的github链接:https://github.com/SnapKit/Masonry

    UITableView-FDTemplateLayoutCell github:https://github.com/forkingdog/UITableView-FDTemplateLayoutCell

    进入正题:(本文素材是来自阳神的demo里面的。阳神用的是storyboard实现,而我是用Masonry实现)

    1.首先在子线程解析JSON数据

    2.然后返回主线程注册cell,并且刷新tableView

    3.在cellForRowAtIndexPath的方法中抽出一个方法,给cell的模型赋值。

    UITableView+FDTemplateLayoutCell 这个类有两种模式,一种是使用自动布局,一种则是计算frame的形式。

    4.接下来我们看下自定义cell里面的实现。

    在初始化的方法内部创建子控件并且使用Masonry布局

    5.布局方法实现

    6.当你是使用计算frame模式的时候,需要在cell里面实现sizeThatFits这个方法

    7.重新返回控制器中,实现tableview的heightForRowAtIndexPath方法,在其内部重新给cell的模型赋值

    Demo截图:

    本文Demo地址:https://github.com/XQBoy/MasonryExercise

    以后 会将每学到一个框架的基本使用都会尝试写博客上来,希望大家多多支持,谢谢

    PS:小广告~

    iOS交流群:248458280

    有兴趣的可以进,大伙一起相互学习~

  • 相关阅读:
    删除mysql服务
    取消jQuery validate验证
    评估期已过.有关如何升级您的测试软件
    修复fiddler无法抓包抓取https问题
    Win10开启高性能模式
    cmd git批量检出当前目录下的所有模块指定远程分支
    解决代码没有编译错误运行却报错: “程序包xxx不存在“的问题,最终解决办法
    尾递归
    idea Project maven根目录不见了找回
    秒转时分秒
  • 原文地址:https://www.cnblogs.com/geshihuayoutiao/p/4671246.html
Copyright © 2011-2022 走看看