高仿美团主界面<一>

时间:2022-01-08 23:59:01

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

先上图吧:

高仿美团主界面&lt;一&gt;

这个小demo资源图片全是用青花瓷抠出来的,如今仅仅是完毕了 一部分。

会持续更行中。

。有兴趣的朋友能够关注我,我们一起coding,一起分享。

然后这个demo非常easy。可是有一些小细节能够和大家分享。

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

效果动绘图例如以下:

高仿美团主界面&lt;一&gt;

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个button,你不会的话 要请我吃饭了。接下来说一个代理方法:

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的上海。