ios开发--网易滚动导航栏

HACursor,是一个对横向ScrollView中的视图进行管理的UI控件。只要几行代码就可以集成类似于网易新闻对主题页面进行排序,删除操作的功能。主srollview参考iOS原生的UITableView的接口设计思路,实现了缓存,避免了一次性加载多个页面所造成的性能消耗。

1.导入HACursor框架

从github上下载需要的框架,下载完成以后只需要将项目中的HACursor导入所需要的过程即可,如下图:

HACursor

2.引入头文件

在视图控制器中引入头文件:

  1. #import "HACursor.h"

3.在viewDidLoad方法中,配置HACursor

  1. @interface ViewController ()
  2. @property (nonatomic,strong) NSArray *titles;//顶部视图的内容
  3. @end
  1. - (void)viewDidLoad {
  2. [super viewDidLoad];
  3. // Do any additional setup after loading the view, typically from a nib.
  4. titles = @[@"网易",@"新浪",@"腾讯",@"苹果",@"搜狐",@"淘宝",@"京东",@"百度",@"有道",@"小米",@"华为",@"三星"];
  5. HACursor *cursor = [[HACursor alloc]init];
  6. cursor.frame = CGRectMake(0, 64, self.view.width, 45);
  7. cursor.titles = titles;
  8. //每个子视图显示的内容
  9. cursor.pageViews = [self createPageViews];//此方法必需使用,pageView需要展示的内容按按照需求自定义
  10. //设置根滚动视图的高度
  11. cursor.rootScrollViewHeight = self.view.frame.size.height - 109;
  12. //默认值是白色
  13. cursor.titleNormalColor = [UIColor whiteColor];
  14. //默认值是白色
  15. cursor.titleSelectedColor = [UIColor redColor];
  16. cursor.showSortbutton = YES;
  17. //默认的最小值是5,小于默认值的话按默认值设置
  18. cursor.minFontSize = 6;
  19. [self.view addSubview:cursor];
  20. }
  21. //用webView展示
  22. - (NSMutableArray *)createPageViews{
  23. NSMutableArray *pageViews = [NSMutableArray array];
  24. 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"];//对应的标题用对应的网址
  25. //分别展示每个page下面的webView
  26. for (NSInteger i = 0; i < self.titles.count; i++) {
  27. UIWebview webView *web = [[webView alloc]init];
  28. NSString *str = [NSString stringWithFormat:@"%@",[webViewArray objectAtIndex:i]];
  29. NSURL *url = [NSURL URLWithString:str];
  30. NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:url];
  31. [web loadRequest:urlRequest];
  32. [pageViews addObject:web];
  33. }
  34. return pageViews;
  35. }

4.设置属性

HACursor提供了一系列属性,可以根据自己的项目选择所需要的属性,添加到viewDidLoad中

  1. //显示的标题栏的标题(必选!!)
  2. cursor.titles = self.titles;
  3. //需要管理的子页面(必选!!)
  4. cursor.pageViews = self.pageViews;
  5. //设置rootScrollView的高度(必选!!)
  6. cursor.rootScrollViewHeight = self.view.frame.size.height - 65;
  7. //设置标题普通状态下的颜色
  8. cursor.titleNormalColor = [UIColor whiteColor];
  9. //设置标题选中状态下的颜色
  10. cursor.titleSelectedColor = [UIColor redColor];
  11. //是否需要显示排序的按钮
  12. cursor.showSortbutton = YES;
  13. //设置背景颜色
  14. cursor.backgroundColor = [UIColor yellowColor];
  15. //设置最小化的字体
  16. cursor.minFontSize = 10.0;
  17. //设置最大化的字体
  18. cursor.maxFontSize = 30.0;
  19. //设置是否需要渐变字体的大小
  20. cursor.isGraduallyChangFont = NO;
  21. //设置是否需要渐变字体的颜色
  22. cursor.isGraduallyChangColor = NO;
时间: 2024-10-02 00:17:40

ios开发--网易滚动导航栏的相关文章

IOS开发中设置导航栏主题

/** * 系统在第一次使用这个类的时候调用(1个类只会调用一次) */ + (void)initialize { // 设置导航栏主题 UINavigationBar *navBar = [UINavigationBar appearance]; // 设置背景图片 NSString *bgName = nil; if (iOS7) { // 至少是iOS 7.0 bgName = @"NavBar64"; } else { // 非iOS7 bgName = @"NavB

iOS开发UI篇—导航控制器属性和基本使用

IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) 1.创建一个导航控制器 UINavigationController *nav=[[UINavigationControlleralloc]init]; 2.设置导航控制器为window的根视图 self.window.rootViewController=nav; 3.添加 YYOneViewController  *one = [[YYOneViewContro

PagerSlidingTabStrip实现网易新闻导航栏效果

PagerSlidingTabStrip实现网易新闻导航栏效果之前在项目当中有一个需求,实现类似网易新闻标题导航的效果,于是在在github搜索下,找了一个开源PagerSlidingTabStrip,研究了这个空间的使用和一些方法,在此与大家分享,希望能够帮到有需要的朋友,好了废话不多讲,直接上代码. package com.example.textpagerslidingtabstrip.activity; import com.example.textpagerslidingtabstri

IOS开发UI篇—导航控制器属性和基本使用 - 文顶顶

原文  http://www.cnblogs.com/wendingding/p/3768622.html IOS开发UI篇—导航控制器属性和基本使用 一.导航控制器的一些属性和基本使用 1.把子控制器添加到导航控制器中的四种方法 (1) UINavigationController *nav=[[ UINavigationController alloc ] init ]; 2.设置导航控制器为window的根视图 self . window . rootViewController =nav

IOS 实现自定义的导航栏背景以及自定义颜色的状态栏(支持7.0以及低版本)

为尊重文章原作者,转载务必注明原文地址:http://www.cnblogs.com/wt616/p/3784717.html 先看效果图: 在自定义导航栏背景时,可能会遇到以下一些问题: 1.当设置导航栏背景后,状态栏的颜色也会跟着一起改变掉,这可能不是你说希望看到的 2.IOS7以上的版本和低版本显示出来的导航栏高度位置有差别,这个差别就是状态栏的高度20,为了兼容低版本,必须统一 解决思路: 1.不正常的是状态栏的背景也一起变了,而状态栏的文字是可以通过其他API去设置的:如 [[UIAp

iOS 7 教程:定制iOS 7中的导航栏和状态栏

目录(?)[-] iOS 7中默认的导航栏 设置导航栏的背景颜色 在导航栏中使用背景图片 定制返回按钮的颜 修改导航栏标题的字体 修改导航栏标题为图片 添加多个按钮 修改状态栏的风格 隐藏状态栏 总结 注:本文译自Customizing Navigation Bar and Status Bar in iOS 7 近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这

iOS 7中的导航栏和状态栏

iOS 7中默认的导航栏 在开始定制之前,我们先来看看iOS 7中默认导航栏的外观.通过Xcode用Single View Controller模板创建一个工程.然后将view controller嵌入到一个navigation controller中.如果你不想从头开始,那么也可以在这里下载到这个 示例工程.Xcode 5包含有iOS 6和iOS 7模拟器,我们可以在这两个不同的模拟器版本中运行示例程序,进行对比,如下图所示: 如上图所示,在iOS 7中的导航栏默认情况下跟状态栏是交织在一起的

定制iOS 7中的导航栏和状态栏

本文转载至 http://www.cocoachina.com/industry/20131104/7287.html 跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也 “” 阅读器 近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这

仿网易新闻导航栏PagerSlidingTabStrip源码分析

转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持!   前言 最近工作比较忙,所以现在才更新博文,对不住大家了~!言归正传,我们来说说这个PagerSlidingTabStrip,它是配合ViewPager使用的导航栏,网易新闻就是用的这个导航,我们仔细观察这个导航栏不仅他是跟着ViewPager滑动而滑动,而且指示器还会随着标题的长度而动态的变化长度. · 下载地址: Github:https://github.com/astuet