声明:本demo还未完好,正在持续更新中。。。
先上图吧:
这个小demo资源图片全是用青花瓷抠出来的,如今仅仅是完毕了 一部分。
会持续更行中。
。
。有兴趣的朋友能够关注我,我们一起coding,一起分享。
然后这个demo非常easy。可是有一些小细节能够和大家分享。
相信用过美团的同鞋都知道。美团的主界面。
效果动绘图例如以下:
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的上海。