32. 自定义UITableViewCell(高度自适应)

自定义UITableViewCell自定义一个UITableViewCell, 需要定义一个类,继承UITableViewCell即可,而实现高度自适应,只需要设置UITableView的两个属性即可:// 预估行高self.tableView.estimatedRowHeight = 100// 行高自动测量self.tableView.rowHeight = UITableViewAuto
摘要由CSDN通过智能技术生成

自定义UITableViewCell

自定义一个UITableViewCell, 需要定义一个类,继承UITableViewCell即可,而实现高度自适应,只需要设置UITableView的两个属性即可:

// 预估行高
self.tableView.estimatedRowHeight = 100
// 行高自动测量
self.tableView.rowHeight = UITableViewAutomaticDimension

今天, 我们实现一个历史上的今天的小案例:

1. 历史上的今天的数据:

我们查看的是MobApI 的接口

接口地址:http://apicloud.mob.com/appstore/history/query
支持格式:JSON
请求方式:GET
请求示例:http://apicloud.mob.com/appstore/history/query?key=123456&day=1231
调试工具:API测试工具
备注说明:根据日期查询历史上的今天

请求参数:
名称  类型  必填  说明
key string  是   用户申请的appkey
day string  是   日期(格式:MMdd)

JSON返回示例:

{
  "msg": "success",
  "retCode": "200",
  "result": [
    {
      "date": "19821231",
      "day": 31,
      "event": "1982年12月31日加纳陆军接管了政权。\n加纳新的军人领袖罗林斯这天在电台发表讲话说,加纳陆军已经接管了1979年9月执政的利曼总统的政府,开始执政。这是罗林斯在三年内第二次掌权。\n",
      "id": "569881b8590146d407333528",
      "month": 12,
      "title": "加纳发生军事政变"
    },
    {
      "date": "19531231",
      "day": 31,
      "event": "1953年12月31日。一支由英国发起的寻找谜一般的“雪人”的探险队已到达印度,准备的往尼泊尔。6个月前曾征服喜马拉雅山的埃德蒙·希拉里说,他在早期对喜马拉雅山进行探险时就看见过奇怪的,长着长发的动物的足迹。\n",
      "id": "569881b8590146d407333529",
      "month": 12,
      "title": "搜寻“雪人”的工作开始进行"
    },
    {
      "date": "19471231",
      "day": 31,
      "event": "1947年12月31日,罗马尼亚国王迈克尔在苏联支持的共产党人的压力下被迫退位,红色帷幕至此覆盖了整个东欧。这个正在度假的东欧的最后一个君主迈克尔被迅速叫回国,并由总统戈查向他递交了让位证书。\n",
      "id": "569881b8590146d40733352a",
      "month": 12,
      "title": "罗马尼亚王朝倒台"
    }
  ]
}

我们只用显示时间和标题和事件即可

我们可以定义一个Model, 用于存储数据:

class HistoryModel: NSObject {
    // 时间
    var time: String
    // 标题
    var title: String
    // 事件
    var event: String

    init(event: String, title: String, time: String) {
        self.time = time
        self.title = title
        self.event = event
    }
}

2. 实现自定义cell

我们实现一个MyCell的自定义类, 用于展示我们的内容:

import UIKit
import SnapKit

class MyCell: UITableViewCell {
    // 时间
    var timeLabel: UILabel!
    // 标题
    var titleLabel: UILabel!
    // 事件
    var eventLabel: UILabel!

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)

        initUI()
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

    func initUI() {

        self
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值