精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iOS開發(fā)之帶你5分鐘封裝一個時間軸

移動開發(fā)
時間軸在一些app中用的場景還不少,原理實現(xiàn)起來較為簡單,下面我們就來動手封裝一個比較常用的時間軸

時間軸在一些app中用的場景還不少,原理實現(xiàn)起來較為簡單,下面我們就來動手封裝一個比較常用的時間軸,具體效果看下圖:

 


Qinz

1.首先我們創(chuàng)建一個UIView,在上面放一個tableView,聲明一個方法,傳遞兩個參數(shù),***個參數(shù)是需要將該時間軸放在哪個視圖上,第二個參數(shù)是傳遞數(shù)據(jù)源,頭文件下:

  1. #import <UIKit/UIKit.h> 
  2. @interface QinzTimeLine : UIView 
  3. @property (nonatomic, strong) NSArray *titleArr; 
  4. -(void)setSuperView:(UIView*)superView DataArr:(NSMutableArray*)dataArr; 
  5. @end 

2.我們再來看看.m文件,也就是最簡單的tableView的應用,這里有一個 [self.tableView cellHeightForIndexPath:indexPath model:model keyPath:@"model" cellClass:[TimeLineCell class]contentViewWidth:self.frame.size.width]方法是用到了SDAutoLayout這個庫用來自動計算cell高度的

  1. #import "QinzTimeLine.h" 
  2. #import "SDAutoLayout.h" 
  3. #import "TimeLineCell.h" 
  4. @interface QinzTimeLine ()<UITableViewDelegate,UITableViewDataSource> 
  5. @property (nonatomic, strong) UITableView *tableView; 
  6. @property (nonatomic, strong) NSMutableArray *dataArr; 
  7. @end 
  8. @implementation QinzTimeLine 
  9. -(void)setSuperView:(UIView *)superView DataArr:(NSMutableArray *)dataArr{ 
  10.     self.frame = superView.bounds; 
  11.     [superView addSubview:self]; 
  12.     [self setUp]; 
  13.     self.dataArr = dataArr; 
  14. -(void)setUp{ 
  15.     self.tableView = [[UITableView alloc]init]; 
  16.     self.tableView.delegate = self; 
  17.     self.tableView.dataSource = self; 
  18.     self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 
  19.     [self addSubview:self.tableView]; 
  20.     self.tableView.sd_layout.topEqualToView(self).leftEqualToView(self).bottomEqualToView(self).rightEqualToView(self); 
  21. #pragma mark -- tableView的代理方法 
  22. #pragma mark -- 返回多少組 
  23. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
  24.     return 1; 
  25. #pragma mark -- 每組返回多少個 
  26. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
  27.     return self.dataArr.count
  28. #pragma mark -- 每個cell的高度 
  29. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
  30.     TimeLineModel*model = self.dataArr[indexPath.row]; 
  31.     return [self.tableView cellHeightForIndexPath:indexPath model:model keyPath:@"model" cellClass:[TimeLineCell class] contentViewWidth:self.frame.size.width]; 
  32. #pragma mark -- 每個cell顯示的內容 
  33. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
  34.     TimeLineCell*cell = [TimeLineCell timeLineCell:tableView]; 
  35.     if (indexPath.row == 0) { 
  36.         cell.lineView.sd_layout.topSpaceToView(cell.pointView, 0); 
  37.         cell.lineView.backgroundColor = [UIColor grayColor]; 
  38.         cell.pointView.backgroundColor = [UIColor redColor]; 
  39.     }else
  40.         cell.lineView.sd_layout.topSpaceToView(cell.contentView, 0); 
  41.         cell.pointView.backgroundColor = [UIColor grayColor]; 
  42.         cell.lineView.backgroundColor = [UIColor grayColor]; 
  43.     } 
  44.     cell.model = self.dataArr[indexPath.row]; 
  45.     cell.selectionStyle = UITableViewCellSelectionStyleNone; 
  46.     return cell; 
  47. #pragma mark -- 選擇每個cell執(zhí)行的操作 
  48. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
  49.     [tableView deselectRowAtIndexPath:indexPath animated:NO]; 

3.關鍵在于tableViewCell布局,采用了Xib,方便對樣式進行設置,布局依然采用的是SDAutoLayout這個庫

 


圖片.png

4.看下布局代碼,這里對titleLB的布局做高度自適應,及設置autoHeightRatio為0即可,然后我們直接在設置模型中調用 [self setupAutoHeightWithBottomView:self.titleLB bottomMargin:0]就自動完成了高度自適應,是不是很方便

  1. - (void)awakeFromNib { 
  2.     [super awakeFromNib]; 
  3.     self.pointView.sd_layout.topSpaceToView(self.contentView, 20).leftSpaceToView(self.contentView, 5).widthIs(8).heightEqualToWidth(); 
  4.     self.pointView.sd_cornerRadius = @(4); 
  5.     self.lineView.sd_layout.topEqualToView(self.contentView).centerXEqualToView(self.pointView).widthIs(1).bottomSpaceToView(self.contentView, 0); 
  6.     self.ttimeLB.sd_layout.centerYEqualToView(self.pointView).leftSpaceToView(self.pointView, 10).rightSpaceToView(self.contentView, 10).heightIs(20); 
  7.     self.titleLB.sd_layout.topSpaceToView(self.ttimeLB, 15).leftEqualToView(self.ttimeLB).rightSpaceToView(self.contentView, 10).autoHeightRatio(0); 
  8. -(void)setModel:(TimeLineModel *)model{ 
  9.     _model = model; 
  10.     self.titleLB.text=  model.title; 
  11.     self.ttimeLB.text = model.time
  12.     [self setupAutoHeightWithBottomView:self.titleLB bottomMargin:0]; 

5.到此,封裝完畢,***我們來看看控制器調用代碼

  1. - (void)viewDidLoad { 
  2.     [super viewDidLoad]; 
  3.     self.automaticallyAdjustsScrollViewInsets = YES; 
  4.     self.timeLine = [[QinzTimeLine alloc]init]; 
  5.     [self setData]; 
  6.     [self.timeLine setSuperView:self.view DataArr:self.dataArr]; 

總結:整體主要采用tableView進行布局,然后讓cell的高度自適應,需要注意的地方就是Cell中時間軸中的線條需要保持連貫,所以需要對***個cell進行判斷,讓線條剛好與原點連接。

***,附上demo供參考:https://gitee.com/Qinz_323/qinztimeline

我是Qinz,希望我的文章對你有幫助。

責任編輯:未麗燕 來源: 簡書
相關推薦

2020-10-30 15:04:16

開發(fā)技能代碼

2021-06-07 12:08:06

iOS Python API

2020-09-14 11:30:26

HTTP3運維互聯(lián)網(wǎng)

2020-11-23 16:23:59

CSS設計技術

2012-06-28 10:26:51

Silverlight

2025-07-14 08:47:39

2025-03-13 06:22:59

2020-06-30 10:45:28

Web開發(fā)工具

2022-06-17 08:05:28

Grafana監(jiān)控儀表盤系統(tǒng)

2021-04-30 16:23:58

WebRTC實時音頻

2021-06-02 09:12:04

App自動化測試測試自動化

2018-11-08 13:53:15

Flink程序環(huán)境

2010-12-10 17:23:56

IBMIaaS

2021-01-06 05:23:15

ServiceMesh網(wǎng)絡阿帕網(wǎng)

2016-09-12 17:28:45

云存儲應用軟件存儲設備

2019-12-23 16:42:44

JavaScript前端開發(fā)

2021-10-19 07:27:08

HTTP代理網(wǎng)絡

2011-07-11 09:58:52

2014-04-15 11:19:19

2020-10-13 18:22:58

DevOps工具開發(fā)
點贊
收藏

51CTO技術棧公眾號

亚洲网站在线免费观看| 中文字幕在线观看免费高清| 人妖欧美1区| 99久久综合国产精品| 日韩免费在线免费观看| 熟女少妇a性色生活片毛片| 日本一区二区乱| 欧美日韩亚洲一区二区三区| 亚洲精品一区二区毛豆| 国内老熟妇对白hdxxxx| 亚洲一区免费| 欧美精品在线观看| 波多野结衣福利| 二区三区精品| 日韩欧美中文字幕在线观看 | 国产精品后入内射日本在线观看| 懂色av中文在线| 成人在线一区二区三区| 国产精品福利网站| 日韩欧美a级片| 天天射成人网| 亚洲网站视频福利| 涩视频在线观看| 成人午夜在线| 一道本成人在线| 国产中文字幕乱人伦在线观看| 成人三级黄色免费网站| 成人不卡免费av| 成人免费福利视频| 自拍偷拍校园春色| 亚洲国产网站| 九九热99久久久国产盗摄| 真实乱视频国产免费观看| 红杏aⅴ成人免费视频| 91精品视频网| 手机在线成人免费视频| 成人午夜视屏| 欧美色欧美亚洲高清在线视频| 亚洲天堂第一区| 欧美边添边摸边做边爱免费| 日本一区二区久久| 久久人人爽爽人人爽人人片av| 风流老熟女一区二区三区| 精品一区二区在线免费观看| 国产精品视频26uuu| 成人免费毛片男人用品| 亚洲日韩视频| 97高清免费视频| 国产一级二级三级视频| 欧美日韩国产在线一区| 欧美俄罗斯性视频| 免费在线一区二区三区| 欧美日韩蜜桃| 久久久久久69| 日韩 欧美 综合| 欧美日韩综合| 久久免费福利视频| 国产精品美女毛片真酒店| 亚洲国产三级| 欧美在线视频一区| 特黄视频免费看| 国产欧美综合一区二区三区| 久久激情视频久久| 四虎影视一区二区| 波多野结衣一区| 国产一区二区三区三区在线观看 | 精品一区二区三区四区在线| 久久久久亚洲无码| 成人高潮a毛片免费观看网站| 日韩一区二区三区免费观看| 日本少妇xxx| 国产一区二区三区黄网站| 欧美日韩国产综合久久| 日本特黄a级片| 激情久久一区二区| 欧美日韩一区视频| 15—17女人毛片| 国产精品久久久久久久久免费高清| 91成人免费网站| 天堂在线资源视频| 久久天堂久久| 精品国产髙清在线看国产毛片| 黄页网站在线看| 成人涩涩网站| 国产视频久久网| 蜜臀久久99精品久久久久久| 色婷婷亚洲mv天堂mv在影片| 色综合伊人色综合网站| 国语对白在线播放| 亚洲国产高清一区| 538国产精品一区二区免费视频| 国产无套丰满白嫩对白| 蜜臀av性久久久久av蜜臀妖精| 国产欧美韩国高清| www.看毛片| 91碰在线视频| 亚洲精品国产一区| 超碰在线免费公开| 性做久久久久久久久| 青青视频在线播放| 日韩国产一二三区| 欧美成人r级一区二区三区| 国产精品扒开腿做爽爽爽a片唱戏| 亚洲桃色综合影院| 国产一区二区三区在线看| 国产不卡在线观看视频| 欧美日韩午夜| 国产z一区二区三区| 一区二区三区精彩视频| 高潮精品一区videoshd| 热舞福利精品大尺度视频| 免费黄色网址在线观看| 精品久久久久久久久久久久久久| www.涩涩涩| 97精品资源在线观看| 亚洲精品一区在线观看香蕉| frxxee中国xxx麻豆hd| 99精品国产一区二区青青牛奶 | 亚洲欧洲精品一区二区三区波多野1战4| 国产素人视频在线观看| 亚洲va天堂va国产va久| jizz18女人| 欧美综合精品| 欧美成aaa人片免费看| 亚洲免费黄色网址| 国产老妇另类xxxxx| 日本免费高清一区二区| 青春草视频在线| 欧美三级日韩三级| 日本人妻一区二区三区| 狠狠色丁香婷婷综合影院| 欧美—级a级欧美特级ar全黄| 欧美日韩在线视频播放| av成人免费在线| 久久久久亚洲av无码专区喷水| 成人短视频app| 精品久久一区二区| 久久国产高清视频| 日韩综合小视频| 国产伦一区二区三区色一情| bbbbbbbbbbb在线视频| 色偷偷久久一区二区三区| 日本人妻一区二区三区| 久久久久亚洲| 国产精品免费看久久久香蕉| 欧美色综合一区二区三区| 亚洲影视在线播放| 中文字幕第22页| 欧美色婷婷久久99精品红桃| 欧美最顶级的aⅴ艳星| 精品人妻伦一二三区久久| 亚洲日本乱码在线观看| 色一情一区二区三区| 国模精品一区| 国产精品久久久久久久久影视| 天天爽夜夜爽夜夜爽| 一区二区久久久| 福利视频999| 欧美在线亚洲| 99久久精品无码一区二区毛片| 免费a级人成a大片在线观看| 欧美午夜一区二区三区| 欧美福利第一页| 青青草国产精品亚洲专区无| 日本午夜精品电影| 日韩不卡免费高清视频| 亚洲色图第一页| av毛片在线免费观看| 久久久不卡影院| 天天操天天摸天天爽| 精品理论电影在线| 国产精品久久久一区| 成人亚洲性情网站www在线观看| 91国产丝袜在线播放| 国产又大又粗又爽的毛片| 日韩成人伦理电影在线观看| 亚洲国产欧美一区二区三区不卡| 嫩草伊人久久精品少妇av杨幂| 久久影视电视剧免费网站| 99国产精品99| 亚洲成人av中文| 亚欧洲乱码视频| 青青草国产精品亚洲专区无| 中文字幕久精品免| 亚洲va欧美va人人爽成人影院| 欧美激情亚洲自拍| 性感美女一级片| 一本色道久久综合亚洲精品按摩| 日本一级特级毛片视频| 国产成人欧美日韩在线电影| 蜜臀av色欲a片无码精品一区| 欧美1区二区| 国产精品成av人在线视午夜片| av中文在线| 日韩精品一区二区三区四区| 成人免费看片98欧美| 久久久久9999亚洲精品| 日韩精品视频网址| 99亚洲一区二区| 日韩国产精品一区二区三区| 警花av一区二区三区| 欧美极品少妇xxxxⅹ免费视频| 九色在线播放| 日韩亚洲欧美在线| 国产91精品一区| 国产精品乱码一区二区三区软件| 国产香蕉精品视频| 久久国产精品久久w女人spa| 精品91一区二区三区| 欧美日韩直播| 国产91精品网站| 污污片在线免费视频| 亚洲欧美精品伊人久久| 99热这里只有精品99| 欧美性猛交xxxx免费看漫画| 欧美一级特黄高清视频| 26uuu亚洲综合色欧美| 国产精品自在自线| 免费欧美日韩| 精品国产三级a∨在线| 欧美色爱综合| 久久99久久99精品蜜柚传媒| 国产激情欧美| 欧美亚洲伦理www| av片在线观看| 中文字幕在线亚洲| 天天干免费视频| 欧美性欧美巨大黑白大战| 亚洲欧美在线视频免费| 亚洲人成精品久久久久| 成人黄色免费网址| 成人av免费在线观看| 久久综合在线观看| 日韩激情av在线| 人妻久久久一区二区三区| 亚洲最大av| 正在播放国产精品| 国产欧美日韩精品高清二区综合区| 91精品国产高清久久久久久91裸体| 日韩成人高清| 日韩av免费在线观看| 91白丝在线| 欧美高清不卡在线| 麻豆av在线导航| 国产亚洲视频在线观看| 水莓100国产免费av在线播放| 欧美电影免费观看完整版| 国产精品久久久午夜夜伦鲁鲁| 91福利资源站| caoporn国产| 精品久久久中文| 精品成人久久久| 色综合激情久久| 国产www在线| 色综合久久久久综合99| 99视频在线看| 精品国产乱码久久久久久虫虫漫画| 久久久久久久国产精品毛片| 亚洲精品成人悠悠色影视| 久久爱一区二区| 国产精品美女久久久久久久久 | 性一交一乱一伧国产女士spa| 最新国产精品久久久| 大片在线观看网站免费收看| 综合一区在线| 男人日女人的bb| 国产精品啊啊啊| 蜜臀av色欲a片无码精品一区 | 人妻内射一区二区在线视频| 国产精品久久久久久久免费软件 | 国一区二区在线观看| 精品国产一区二区三区在线观看 | 国产精品久久久免费视频| 亚洲妇女屁股眼交7| 免费视频网站www| 亚洲综合网站在线观看| 日韩免费一二三区| 亚洲国产你懂的| 69精品久久久| 欧美亚洲国产一区二区三区 | 日韩一区二区免费电影| 国产suv一区二区| 精品成人a区在线观看| 四虎永久在线精品免费网址| 亚洲欧美综合精品久久成人| 国产精品久久久久一区二区国产 | 在线h片观看| 性欧美亚洲xxxx乳在线观看| 成人ssswww在线播放| 国产精品视频网站| 外国成人毛片| 成人免费观看网站| 香蕉久久精品| 亚洲精品一区二区三区四区五区 | 一区视频二区视频| 国产精品精品国产一区二区| 无码熟妇人妻av在线电影| 久久精品卡一| 黄色aaaaaa| 91色视频在线| 国产福利视频网站| 天天射综合影视| 一二三四区在线| 国产视频精品一区二区三区| 麻豆视频在线| 日本不卡视频在线播放| 二区三区精品| 欧美一区视久久| 欧美欧美天天天天操| 性高湖久久久久久久久aaaaa| 日韩高清在线不卡| 免费看91视频| 欧美激情一区二区三区四区| 久久久久久久久97| 在线观看日产精品| 成人免费一级视频| 色伦专区97中文字幕| 成人bbav| av免费精品一区二区三区| 欧美精品羞羞答答| 日本阿v视频在线观看| 久久99国内精品| 在线 丝袜 欧美 日韩 制服| 国产精品人妖ts系列视频| 欧美成人一二三区| 在线免费av一区| 五月婷婷六月色| 久久99久久亚洲国产| 巨胸喷奶水www久久久| 久久久久欧美| 欧美在线1区| 亚洲视频在线不卡| 国产精品毛片大码女人| 久久久免费高清视频| 精品美女在线播放| 成人免费视屏| 国产热re99久久6国产精品| 国产在线播放精品| 久久综合久久久久| 国产一区二区三区免费播放| 人妻aⅴ无码一区二区三区| 婷婷开心激情综合| 亚洲精品国偷拍自产在线观看蜜桃| 日韩专区在线观看| 日本h片久久| 欧美日韩一区综合| 国产一区91| 国产xxxx视频| 亚洲午夜免费电影| 精品久久久久中文慕人妻| 久久在精品线影院精品国产| 成人视屏在线观看| 一区二区免费电影| 日本女优在线视频一区二区| 中文字幕 自拍| 色老汉一区二区三区| 毛片在线播放网站| 欧洲永久精品大片ww免费漫画| 亚洲宅男网av| 国产成人无码一二三区视频| 26uuu色噜噜精品一区二区| av资源免费观看| 亚洲精品视频免费在线观看| 中文字幕乱码在线播放| 国产精品区一区| 久久狠狠婷婷| 我不卡一区二区| 欧美色电影在线| 成人在线app| 国产午夜久久久久| 影音先锋男人看片资源| 91精品久久久久久久91蜜桃| av免费在线观看网站| 国产传媒一区二区三区| 一本色道久久| 精品欧美一区二区久久久| 欧美美女一区二区三区| a视频在线观看| 国产精品一区二区欧美| 国产精品视频| 久久免费手机视频| 欧美日韩在线直播| 欧美卡一卡二| 免费不卡亚洲欧美| 开心九九激情九九欧美日韩精美视频电影| 国产又色又爽又高潮免费| 91精品国产一区二区| www免费在线观看| 久久综合一区二区三区| 蜜桃久久av一区| 精品视频在线观看免费| 亚洲欧美第一页| 欧美成人毛片| 日本毛片在线免费观看| 国产精品美女一区二区三区 | 久久bbxx| 国产在线视频欧美一区二区三区| 三级亚洲高清视频| 国产中文av在线| 亚洲精品在线免费播放|