笔者前沿:有的时候我们为了工作效率大量的使用了第三方,而不知道内部是怎么实现的,这样就形容了我们跳槽比较难跳。其实一些厉害的技术高手他们也用第三方,但是他们会看里面的源码知道怎样实现的。我自己写了一个轮播器的代码块,里面代码不足之处还望可以共同交流。
轮播器代码块思路:这边的层级结构是这样的,先自定义的View让他等于tableView的headView,然后这个view遵循collectionView的代理方法和数据源方法,来实现布局,而网络请求我放在了Model里用了block在View的initWithFrame里进行了数据会调。
demo地址:
pan.baidu.com/s/1bEAQXw 密码: 8uha
不足之处请简信给我,会经常查看。
各位如果要用这个代码块的话需要修改的地方:
1.下面是我网络请求的代码块,你需要改两个地方,一个是Http地址,一个是responseObject[??]这个字典的名称
2.因为这里我用了字典转模型,所以轮播器的图片,标题请跟你们后台的参数写的一样。
3.cell Xib的样式,具体的细节你们来调
4.轮播器的高度设定,请搜索这句话代码来进行设置
//轮播器整体的高
#define LoopH 230
5.如果你们的需求是点击轮播的图片进行跳转,请在这里进行跳转,这里我已经写好了,做了个示范,如果不需要调转把我的示范跳转的代码注释掉就行了。
6.效果图
7.如果你们需要导航栏显示出来请把下面三句代码注释掉,在ViewController.m里
//控制器即将加载完成的时候设置导航栏隐藏
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:animated];
}
//控制器即将销毁完成的时候设置导航栏为不隐藏
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController setNavigationBarHidden:NO animated:animated];
}
// 自动调整整体轮播器的位置,如果不写这句代码的话会有段空白的状态栏高度
self.automaticallyAdjustsScrollViewInsets = NO;
网友评论