高仿美团主界面<一>

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

先上图吧:

高仿美团主界面<一>_第1张图片
美团主界面部分图

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

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

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

效果动画图如下:


高仿美团主界面<一>_第2张图片
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的上海。

你可能感兴趣的:(高仿美团主界面<一>)