概述

迄今为止最为简单的时间轴 :可以自定义(类似于美团的送餐信息)

详细

代码下载:http://www.demodashi.com/demo/10797.html

迄今为止 最为简单的时间轴 :可以自定义(类似于美团的送餐信息) 示例图如下:

一、准备工作

现在,在多数的项目中都会用到这样的东西,尤其是商城类项目,里面有物流信息的,此版时间轴项目最为通熟易懂,就算你是iOS开发大白,看到里面的流程 介绍,你都会试着写。

首先给大家看下项目整体结构,在项目中我是用的是SDAutolayout布局库,当然打击也可以使用原生的进行布局,也可使用其他的,如果想看原生布局的话,我会写个放上面,供大家使用。

二、程序实现

里面主要就是运用TableView的一些属性,对数据进行处理,在项目中每条信息的周围都有线条,而且它是随着信息多少随之变化,始终讲数据包在里面,这里面主要运用了UIImage中的

- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight __TVOS_PROHIBITED;

对边框进行处理

主要是运用TableView 每条物流信息都占据一个cell,自动适应cell的高度,给其设置需要的边框样式,可以自己随意修改。

1、根据数据来获取高度

#pragma mark -- 每个cell的高度
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{id model = self.TimeLineData[indexPath.row];return [self.GZTableView cellHeightForIndexPath:indexPath model:model keyPath:@"model" cellClass:[GZTableViewCell class] contentViewWidth:[self cellContentViewWith]];
}

2、对结构进行布局

self.contentView.backgroundColor = [UIColor whiteColor];self.point.sd_layout.topSpaceToView(self.contentView, 20).leftSpaceToView(self.contentView, 5).widthIs(8).heightEqualToWidth();self.point.sd_cornerRadius = @(4);self.GZLine.sd_layout.topEqualToView(self.contentView).centerXEqualToView(self.point).widthIs(1).bottomSpaceToView(self.contentView, 0);self.GZIma.sd_layout.topSpaceToView(self.contentView , 10).leftSpaceToView(self.point, 3).bottomSpaceToView(self.contentView, 10).rightSpaceToView(self.contentView, 10);_GZIma.image = [UIImage imageNamed:@"WechatIMG3"];// 指定为拉伸模式,伸缩后重新赋值self.GZIma.image = [self.GZIma.image stretchableImageWithLeftCapWidth:20 topCapHeight:30];self.TimeLabel.sd_layout.centerYEqualToView(self.point).leftSpaceToView(self.contentView, 35).rightSpaceToView(self.contentView, 15).heightIs(20);self.ContentLabel.sd_layout.topSpaceToView(self.TimeLabel, 15).leftEqualToView(self.TimeLabel).rightSpaceToView(self.contentView, 15).autoHeightRatio(0);

3、数据模型

#import <Foundation/Foundation.h>
@interface GZTimeLineModel : NSObject
@property (nonatomic, strong) NSString *title;
@property(nonatomic,copy)NSString* time;
@end布局
@property (strong, nonatomic) IBOutlet UIView *point;
@property (strong, nonatomic) IBOutlet UIView *GZLine;
@property (nonatomic, strong)GZTimeLineModel *model;
@property (strong, nonatomic) IBOutlet UIImageView *GZIma;
@property (strong, nonatomic) IBOutlet UILabel *TimeLabel;
@property (strong, nonatomic) IBOutlet UILabel *ContentLabel;实现@property (nonatomic, strong) UITableView *GZTableView;
@property (nonatomic, strong) NSMutableArray *TimeLineData;懒加载
-(UITableView *)GZTableView{if (!_GZTableView) {_GZTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];[self.view addSubview:_GZTableView];_GZTableView.delegate = self ;_GZTableView.dataSource = self ;self.GZTableView.separatorStyle = UITableViewCellSeparatorStyleNone ;}return _GZTableView ;
}

三、运行效果

此项目不需要任何账户,只需简单的下载就可看到你想要的效果

可以设置成自己喜欢的 需要的各种类型。

运行效果图如下所示:

代码下载:http://www.demodashi.com/demo/10797.html

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

iOS最为简单时间轴(GZTimeLine)相关推荐

  1. Android超简单时间轴的实现

    这里先说一下,我就试了一下CSDN的富文本编辑器,结果我退出去以后保存了草稿,发到自己的博客去了,而且我没有删除选项-无视吧,唉! 时间轴 时间轴,顾名思义就是将发生的事件按照时间顺序罗列起来,给用户 ...

  2. android时间轴左右交叉布局,快速简单的定制一个时间轴布局(LinearLayout)

    github: 先上图: 很多情况下,我们都会遇到需要类似于时间轴的一个布局,网上也有很多,但是很多情况下我们其实并不需要那么多库,毕竟64k限制就在那,不管我们用还是不用,它依然在那... 而且更多 ...

  3. 时间轴的实现(简单到爆炸)

    时间轴的实现(简单到爆炸) 标签(空格分隔): 开源项目 ###首先看下实现的效果图 ####开始运输 ####结束运输 ![](http://upload-images.jianshu.io/upl ...

  4. 纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录的华丽转身!...

    前言 FineUI控件库发展至今已经有 5 个年头,目前论坛注册的QQ会员 5000 多人,捐赠用户 500 多人(捐赠用户转化率达到10%以上,在国内开源领域相信这是一个梦幻数字!也足以证明Fine ...

  5. html简单垂直时间轴,简单的响应式垂直时间轴效果

    这是一款简单的响应式垂直时间轴效果.该垂直时间轴效果使用bootstrap网格进行布局,在小屏幕设备上会将所有的时间节点占满整行垂直排列. 使用方法 在页面中引入bootstrap.min.css文件 ...

  6. 纯CSS时间轴实现的办法,超简单的!

    转自:http://oss.so/blog/21.html 在以往,如果要在网页上,实现时间轴效果,我们需要使用jQuery来实现.虽然jQuery十分的漂亮美观,但使用方法来说,太麻烦了.而我们现在 ...

  7. timeline,一个简单精美的自定义时间轴

    H-Express Library--------timeline 这是母项目 H-Express 中的那个自定义时间轴view,现抽取出来分享给大家,这个自定义view比较简单,作为学习自定义vie ...

  8. PhotoShop简单案例(2)——利用时间轴功能制作制作省略号GIF动画

    目录 一.项目介绍 二.基本流程 2.1 新建画布 2.2 输入文字 2.3 增删省略号 2.4 创建视频时间轴 三.效果演示 一.项目介绍 本文将介绍利用时间轴功能制作制作省略号GIF动画,制作完成 ...

  9. iOS 物流信息时间轴

    代码地址如下: http://www.demodashi.com/demo/11958.html timelineLogistics 是模仿淘宝物流信息时间轴界面的自定义View 准备工作 引入Mas ...

最新文章

  1. Design Pattern - Flyweight(C#)
  2. 【控制】傅里叶系列(一)傅里叶级数 (Fourier series) 的推导
  3. IAR之函数和变量的绝对地址定位
  4. 使用 Sealos + Longhorn 部署 KubeSphere v3.0.0
  5. C++用递归实现链表的逆转(附完整源码)
  6. 频域/s域/z域三大变换的性质对比
  7. Elasticsearch 实战经验总结
  8. connect ECONNREFUSED 151.101.0.133:443 | spawn xxx ENOENT
  9. 35.6. /etc/dnsmasq.d/dnsmasq.address.conf
  10. Android:最全面的 Webview 详解
  11. Cocos2d-x动作CCAction
  12. 内核抢占机制(preempt)
  13. bigdecimal计算开n次方_随笔:HashMap中容量为什么是2的次方数?
  14. 【产品】产品经理手册
  15. en55032最新标准下载_欧盟新EMC标准EN55032将强制实施
  16. 【测试人生】安卓FPS测试详解
  17. Unity零基础到入门 ☀️| 万字教程 对 Unity 中的 Navigation导航系统基础 全面解析+实战演练【收藏不迷路】
  18. SpringDataJPA中使用Specification进行表连接多条件分页动态查询
  19. 如何正确使用数据可视化图表?
  20. [英语阅读]芭比娃娃“五十知天命”

热门文章

  1. 机械硬盘4k读写速度_三星T5移动硬盘应用评测:不止够用,还很好用
  2. Linux内核分析 - 网络[九]:邻居表
  3. 内核并发控制---自旋锁(来自网易)
  4. 【c语言】指针数组和数组指针-解释和用法
  5. mint linux更新内核,如何在Ubuntu/Linux Mint中安装最新Linux 5.2.5内核
  6. android 读写文件 简书,Android10 文件操作适配
  7. 魅蓝2 刷 android,魅蓝2全系列-解锁BootLoader完整版+刷入第三方recovery+刷入第三方ROM教程...
  8. python 字符串排序 偶数位交换_在Python中将字符串列表转换为整数排序列表
  9. 【LeetCode】剑指 Offer 37. 序列化二叉树
  10. 《RabbitMQ 实战指南》第五章 RabbitMQ 进阶(下)