码迷,mamicode.com
首页 > 其他好文 > 详细

高仿美团主界面<一>

时间:2015-08-17 01:08:30      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

声明:本demo还未完善,正在持续更新中。。。
先上图吧:

技术分享
这个小demo资源图片全是用青花瓷抠出来的,现在只是完成了 一部分。会持续更行中。。。有兴趣的朋友可以关注我,我们一起coding,一起分享。

然后这个demo很简单。但是有一些小细节可以和大家分享。

相信用过美团的同鞋都知道,美团的主界面。

效果动画图如下:
技术分享

git图
很明显美团的主界面是一个tableView 如上图的scrollView是tableView的一个cell.

快速创建一个cell并传递一个模型。

  • (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{

JFHomeMenuCell*cell = [JFHomeMenuCellcellWithTableView:tableViewmenuArray:self.menuArray];

returncell;

}
快速得倒plist文件里面的数据。

self.menuArray=[GetPlistArrayarrayWithString:@”menuData.plist”];
具体实现:只要给我一个文件名就给你返回一个该文件的数组,是不是很爽?反正我是觉得很爽!

NSString*plistPath = [[NSBundlemainBundle]pathForResource:stringofType:nil];

NSArray*array = [[NSArray alloc]initWithContentsOfFile:plistPath];

return array;
如上tableView快速创建cell同一个原理。给我传一个tableView就创建一个cell是不是可以举一反三了?

staticNSString*menuID =@”menu”;

JFHomeMenuCell*cell = [tableView dequeueReusableCellWithIdentifier:menuID];

if(cell ==nil) {

cell = [[JFHomeMenuCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:menuIDmenuArray:menuArray];

}

returncell;
cell怎么创建的控制器不必知道。

送上一句宝贵意见:控制器知道的越少越好。
接下来就是创建16个按钮,你不会的话 要请我吃饭了。接下来说一个代理方法:

pragma mark - scrollView delegate

  • (void)scrollViewDidScroll:(UIScrollView*)scrollView{

CGFloatscrollViewW =scrollView.frame.size.width;

//算出水平移的距离

CGFloatx = scrollView.contentOffset.x;

intpage = (x + scrollViewW/2)/scrollViewW;

_pageControl.currentPage= page;

}
算出当前的是处于ScrollView的哪个界面。

再说pageControl的两个属性

_pageControl.currentPageIndicatorTintColor=navigationBarColor;//处于哪个界面的小圆点原色

_pageControl.pageIndicatorTintColor= [UIColorgrayColor];//于上相反。
搞定。由于比较简单不上传到github上了。

本demo会持续更新的哦。重要的事情说三遍哈哈。

睡觉了。晚安23:19的上海。

版权声明:本文为博主原创文章,未经博主允许不得转载。

高仿美团主界面<一>

标签:

原文地址:http://blog.csdn.net/tubiebutu/article/details/47709629

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!