最近比特币大火,先是突破3万元大关,后来因为取消代币ICO的风波大跌至2万左右,接着又强劲反弹。查阅了一些国内的交易比特币的平台,有OKCoin、比特币中国、火币网等,为了关注比特币的行情,下载了OKCoin的App,发现行情设置界面顶部的UISegmentControl很有特色:
本着学习进步的目的,特地仿写了一下,效果如下图所示:
简要介绍一下实现思路:
1 界面分析
最上面的标题栏中放置UISegmentControl, 点击时,下面的3个界面均是UITableView。其中价格提醒界面的TableView上面的View可以左右滑动选择品种,可以通过UIScrollView来实现。行情刷新和显示设置中的UITableViewCell也互不相同,都需要自定义实现。
2 数据模拟
价格提醒页面中,每行显示的币种和价格随时间变化,实际是从服务器请求得到。在仿写中,可以动手写出静态的JSON数据,进行模拟请求。JSON数据如下:
[
{
"title": "OKCoinCN币行",
"price": "$1000.01"
},
{
"title": "OKCoinCOM国际站",
"price": "$1000.02"
},
{
"title": "BitFinex",
"price": "$1000.03"
},
{
"title": "Coinbase",
"price": "$1000.04"
},
]
3 代码优化
价格提醒、行情刷新、显示设置中的界面都是UITableView,观察一下,可以发现它们有共同的背景颜色和tableFooterView,所以可以将设置统一到父类中进行设置,本例中统一到ZDQuotationTableView中来设置。当然UITableViewCell中也有相同的地方,比如背景颜色、分割线等,交给读者自己细化了。
下载地址Demo
关注和喜欢都是对我的鼓励和支持~