HACursor,是一个对横向ScrollView中的视图进行管理的UI控件。只要几行代码就可以集成类似于网易新闻对主题页面进行排序,删除操作的功能。主srollview参考iOS原生的UITableView的接口设计思路,实现了缓存,避免了一次性加载多个页面所造成的性能消耗。
1.导入HACursor框架
从github上下载需要的框架,下载完成以后只需要将项目中的HACursor导入所需要的过程即可,如下图:
2.引入头文件
在视图控制器中引入头文件:
- #import "HACursor.h"
3.在viewDidLoad方法中,配置HACursor
- @interface ViewController ()
- @property (nonatomic,strong) NSArray *titles;//顶部视图的内容
- @end
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- titles = @[@"网易",@"新浪",@"腾讯",@"苹果",@"搜狐",@"淘宝",@"京东",@"百度",@"有道",@"小米",@"华为",@"三星"];
- HACursor *cursor = [[HACursor alloc]init];
- cursor.frame = CGRectMake(0, 64, self.view.width, 45);
- cursor.titles = titles;
- //每个子视图显示的内容
- cursor.pageViews = [self createPageViews];//此方法必需使用,pageView需要展示的内容按按照需求自定义
- //设置根滚动视图的高度
- cursor.rootScrollViewHeight = self.view.frame.size.height - 109;
- //默认值是白色
- cursor.titleNormalColor = [UIColor whiteColor];
- //默认值是白色
- cursor.titleSelectedColor = [UIColor redColor];
- cursor.showSortbutton = YES;
- //默认的最小值是5,小于默认值的话按默认值设置
- cursor.minFontSize = 6;
- [self.view addSubview:cursor];
- }
- //用webView展示
- - (NSMutableArray *)createPageViews{
- NSMutableArray *pageViews = [NSMutableArray array];
- NSArray *webViewArray = @[@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com",@"http://www.baidu.com"];//对应的标题用对应的网址
- //分别展示每个page下面的webView
- for (NSInteger i = 0; i < self.titles.count; i++) {
- UIWebview webView *web = [[webView alloc]init];
- NSString *str = [NSString stringWithFormat:@"%@",[webViewArray objectAtIndex:i]];
- NSURL *url = [NSURL URLWithString:str];
- NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:url];
- [web loadRequest:urlRequest];
- [pageViews addObject:web];
- }
- return pageViews;
- }
4.设置属性
HACursor提供了一系列属性,可以根据自己的项目选择所需要的属性,添加到viewDidLoad中
- //显示的标题栏的标题(必选!!)
- cursor.titles = self.titles;
- //需要管理的子页面(必选!!)
- cursor.pageViews = self.pageViews;
- //设置rootScrollView的高度(必选!!)
- cursor.rootScrollViewHeight = self.view.frame.size.height - 65;
- //设置标题普通状态下的颜色
- cursor.titleNormalColor = [UIColor whiteColor];
- //设置标题选中状态下的颜色
- cursor.titleSelectedColor = [UIColor redColor];
- //是否需要显示排序的按钮
- cursor.showSortbutton = YES;
- //设置背景颜色
- cursor.backgroundColor = [UIColor yellowColor];
- //设置最小化的字体
- cursor.minFontSize = 10.0;
- //设置最大化的字体
- cursor.maxFontSize = 30.0;
- //设置是否需要渐变字体的大小
- cursor.isGraduallyChangFont = NO;
- //设置是否需要渐变字体的颜色
- cursor.isGraduallyChangColor = NO;