iOS开发-网易滚动导航栏
2016-03-27 16:52
453 查看
HACursor,是一个对横向ScrollView中的视图进行管理的UI控件。只要几行代码就可以集成类似于网易新闻对主题页面进行排序,删除操作的功能。主srollview参考iOS原生的UITableView的接口设计思路,实现了缓存,避免了一次性加载多个页面所造成的性能消耗。
1.导入HACursor框架
从github上下载需要的框架,下载完成以后只需要将项目中的HACursor导入所需要的过程即可,如下图: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;
案例下载
WYDemo相关文章推荐
- iOS 一些第三方库
- 基于面向协议MVP模式下的软件设计-iOS篇
- iOS实战(零):开发社区、文档等资源
- iOS 使用系统API获取 字符串的 size
- iOS开源-图像缓存库LYImageCache
- igrimace V3 VX 3.0 ios7 一键新机安装方式
- 按位&,| 与 iOS 中二进制数赋值的枚举之间的关系
- iOS 小技巧集结号
- ios9中的一些坑
- iOS ALAssetsLibrary的基本使用
- IOS多线程开发其实很简单
- storyborad 中控制 静态tableviewController中的tableview 的frame的高度
- iOS系统键盘和自定义键盘的切换
- CocoaPods的使用
- iOS开发小技巧--textField成为密码框,view加载完后textField获取焦点
- iOS中的关联对象
- iOS开发小技巧--tableView中实现无数据无分割线,有数据才有分割线
- ios-基础之【11】-类的category
- ios-基础之【10】-NSTimer
- iOS 断言 NSAssert的使用 调试程序错误