纯代码实现Facebook News Feed(2)

第二部分主要是往模板里填充数据以及计算dynamic cell的高度。看下这部分完成后:

GIF

#1 往模板里填充数据

1.新建文件,命名为Feed. 声明四个变量。

Feed.swift

2.在FeedController.swift里:

--声明数组feeds

--在ViewDidLoad()里,添加以下代码。问题来了,为什么能对常量进行改变?看上面,Feed是一个class,它是引用类型。也就是说,Feed的实例是引用,这个引用是常量不能变,但是能通过这个引用对值进行改变。

FeedController.swift

3.在FeedCell.swift里,添加变量feed;didSet起到观察者的作用,当feed有变化的时候,name,profileImageName,feedText和feedImageName相应地变化

FeedCell.swift

4.返回到FeedController.swift里,更新数据源方法

FeedController.swift

#2 计算dynamic collectionView cell的高度

cell里的内容是动态变化的,如何根据内容,相应地调整cell的高度呢?

FeedController.swift

首先,计算出feedText的高度;

然后,计算knownHeight的高度。记住转化为CGFloat类型。

constraint

最后,计算cell的高度。把上面两个加起来,再加16,使得feedText看起来不至于太挤。

第二部分完成。

项目地址:github.com/Paganarchitect/facebook_newsFeed.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,255评论 4 61
  • 茅草凉亭补天池, 青山绿水缆车行, 春光难掩清香魅, 万千虔诚娲皇聚!
    释昔阅读 1,170评论 0 0
  • 以为自己完全不在乎的人的举动 原来还会牵动我的思绪
    Marabaaaa小麦阅读 851评论 0 0
  • 在职场中,难免会有磕磕碰碰,心情不好的时候,拿出来读一读,也许你会发现,结果没有你想的那么坏······
    波语阅读 2,507评论 3 4
  • 1、下载、解压 kafka官网下载0.10.x.x版本的kafkatar -xvf 下载文件 -C /usr/...
    荒湖阅读 6,089评论 0 0