惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
I
InfoQ
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
GbyAI
GbyAI
爱范儿
爱范儿
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
美团技术团队
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
雷峰网
雷峰网
M
MIT News - Artificial intelligence
D
Docker
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs
博客园 - 叶小钗

Oragekk's Blog

A2UI:当 AI Agent 开始直接生成界面 OpenSpec 技术分享:用规格驱动 AI 编程 ChatGPT&Codex订阅教程 一个 waline 评论系统bug引发的思考 Jenkins 远程触发构建踩坑记 Git SSH 密钥配置 初识Rust vuepress-plugin-meting2 谷歌发布多平台应用开发神器Project IDX!PaLM 2加持 Vue常见优化手段 Vue2响应式原理解析 Dart 中的并发 Flutter 工作原理 如何利用GitHub Action提交URL到搜索引擎 提交URL到搜索引擎(百度、Bing、Google) GitHub Actions 使用介绍 素材设计 前端-Q&A 浏览器的事件循环 你不知道的 CSS 之包含块 CSS 属性计算过程 Vercel deploy忽略指定分支 评论插件 Waline 之邮件通知配置 公开API 终端究极美化iTerm2+Pure 使用Bing API提交网站URL Flutter 基础大集合 关于本站 关于本站 关于我
iOS timelineLogistics
Oragekk · 2017-07-12 · via Oragekk's Blog

timelineLogistics 是模仿淘宝物流信息时间轴界面的自定义 View

效果

Markdown
Markdown

使用正则表达式判断字符是否为电话号码,用 YYLable 进行富文本电话拨打

使用

  • 引入 Masonry,YYkit 库

    • 使用了 MAsonry 进行布局
    • 使用了 YYkit 中的 YYLable 进行富文本电话号码点击拨打电话
  • 初始化数组

      NSArray *titleArr = [NSArray arrayWithObjects:
                   @"[北京通州区杨庄公司锦园服务部]快件已被27号楼e站代签收",
                   @"[北京通州区杨庄公司]到达目的地网店,快件将很快进行派送" ,
                   @"[北京通州区杨庄公司]进行派件扫描;派送业务员:周志军;联系电话:13522464946",
                   @"[北京分拨中心]在分拨中心进行卸车扫描",
                   @"[浙江杭州分拨中心]在分拨中心进行称重扫描",
                   @"[浙江杭州下城区三里亭公司]进行揽件扫描",nil];
      NSArray *timeArr = [NSArray arrayWithObjects:
                  @"2017-07-04 12:59:00",
                  @"2017-07-03 10:59:00",
                  @"2017-07-03 08:22:00",
                  @"2017-07-03 03:34:22",
                  @"2017-07-02 12:59:00",
                  @"2017-07-02 08:10:00",nil];
    ```
  • 转为模型

    for (NSInteger i = titleArr.count-1;i>=0 ; i--)
    {
      OKLogisticModel * model = [[OKLogisticModel alloc]init];
      model.dsc = [titleArr objectAtIndex:i];
      model.date = [timeArr objectAtIndex:i];
      [self.dataArry addObject:model];
    }
  • 初始化控制器

    OKLogisticsView * logis = [[OKLogisticsView alloc]initWithDatas:self.dataArry];
      // 给headView赋值
      logis.wltype=@"已签收";
      logis.number = @"3908723967437";
      logis.company = @"韵达快运";
      logis.phone = @"400-821-6789";
      logis.imageUrl = @"http://pic40.nipic.com/20140420/12064170_201114370112_2.jpg";
      logis.frame = CGRectMake(0, 64, OKScreenWidth, OKScreenHeight-64);
      [self.view addSubview:logis];

Demo下载,如果对你有帮助麻烦点个Star