新浪微博客户端(9)-实现版本新特性的ViewPager
"DJNewFeatureViewController.m"
#import "DJNewFeatureViewController.h"
#define NEW_FEATURE_NUMS 4
@interface DJNewFeatureViewController() <UIScrollViewDelegate>
@property (nonatomic,weak) UIPageControl *pageControl;
@end
@implementation DJNewFeatureViewController
- (void)viewDidLoad {
// 1.创建一个UIScrollView
UIScrollView *scrollView = [[UIScrollView alloc] init];
scrollView.frame = self.view.bounds;
CGFloat scrollW = scrollView.width;
CGFloat scrollH = scrollView.height;
scrollView.delegate = self;
// 2.设置scrollview的属性
// contentSize设置内容范围,高度为0代表高度不能滑动
scrollView.contentSize = CGSizeMake(scrollW * NEW_FEATURE_NUMS, );
// 设置scrollView可以被分页
scrollView.pagingEnabled = YES;
// 去除水平滚动条
scrollView.showsHorizontalScrollIndicator = NO;
// 去除弹簧效果造成的黑边
scrollView.bounces = NO;
// 2.添加4个UIImageView
for (int i = ; i < NEW_FEATURE_NUMS; i++) {
UIImageView *imageView = [[UIImageView alloc] init];
imageView.size = scrollView.size;
imageView.y = ;
imageView.x = i * scrollW;
NSString *imageName = [NSString stringWithFormat:@"new_feature_%d",i+];
imageView.image = [UIImage imageNamed:imageName];
[scrollView addSubview:imageView];
}
[self.view addSubview:scrollView];
// 3.添加pageControl
UIPageControl *pageControl = [[UIPageControl alloc] init];
// 设置pageControl的个数
pageControl.numberOfPages = NEW_FEATURE_NUMS;
pageControl.width = ;
pageControl.height = ;
pageControl.centerX = scrollW * 0.5;
pageControl.centerY = scrollH - ;
// 设置pageControl选中和未选中的颜色
pageControl.pageIndicatorTintColor = DJColor(, , );
pageControl.currentPageIndicatorTintColor = DJColor(,, );
// 禁止点击pagecontrol的小按钮
pageControl.userInteractionEnabled = NO;
[self.view addSubview:pageControl];
self.pageControl = pageControl;
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
double page = scrollView.contentOffset.x / scrollView.width;
self.pageControl.currentPage = (int)(page + 0.5);
// DJLog(@"%@",NSStringFromCGPoint(scrollView.contentOffset));
}
@end
最终效果:

新浪微博客户端(9)-实现版本新特性的ViewPager的更多相关文章
- IOS第三天-新浪微博 - 版本新特性,OAuth授权认证
*********版本新特性 #import "HWNewfeatureViewController.h" #import "HWTabBarViewController ...
- 《转》MySQL 5.7版本新特性连载
MySQL 5.7版本新特性连载(一) 本文将和大家一起分享下5.7的新特性,不过我们要先从即将被删除的特性以及建议不再使用的特性说起.根据这些情况,我们在新版本及以后的版本中,应该不再使用,避免未来 ...
- Atitit.c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结
Atitit.c# .net 3.5 4.0 各个版本新特性战略规划总结 1. --------------.Net Framework版本同CLR版本的关系1 2. paip.----------- ...
- c# .net 3.5 4.0 4.5 5.0 6.0各个版本新特性战略规划总结【转载】
引用:http://blog.csdn.net/attilax/article/details/42014327 c# .net 3.5 4.0 各个版本新特性战略规划总结 1. ---------- ...
- Atitit opencv版本新特性attilax总结
Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...
- Atitit mac os 版本 新特性 attilax大总结
Atitit mac os 版本 新特性 attilax大总结 1. Macos概述1 2. 早期2 2.1. Macintosh OS (系统 1.0) 1984年2 2.2. Mac OS 7. ...
- 【开源】OSharp3.3框架解说系列:重新开源及3.3版本新特性
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...
- Atitit 发帖机系列(8) 词法分析器v5 版本新特性说明)
Atitit 发帖机系列(8) 词法分析器v5 版本新特性说明) v5 增加对sql单引号的内部支持.可以作为string 结构调整,使用递归法重构循环发..放弃循环发. V4 java dsl词 ...
- [iOS微博项目 - 1.7] - 版本新特性
A.版本新特性 1.需求 第一次使用新版本的时候,不直接进入app,而是展示新特性界面 github: https://github.com/hellovoidworld/HVWWeibo ...
随机推荐
- WPS2013三合一全套精品视频教程-【word,excel,powerpoint】
WPS2013三合一全套精品视频教程-[word,excel,powerpoint]教程目录: 下载地址:http://www.fu83.cn/thread-184-1-1.html
- Openwrt 无法上40MHZ带宽
最近有一个纠结的事情是双天线路由没法上40MHZ带宽,怎么改都不成功,其中 在无线高级设置里面打开了40MHZ带宽: 后来在客户端连上之后,在无线的页面一直显示都是20M的带宽.于是我想是不是驱动或者 ...
- Jenkins进阶系列之——14配置Jenkins用户和权限
今天给大家说说使用Jenkins专有用户数据库的配置,和一些常用的权限配置. 配置用户注册 在已运行的Jenkins主页中,点击左侧的系统管理—>Configure Global Securit ...
- NFine框架的T4模板
1.前言 前段时间在网上看到一个开源框架很好的.开源:ASP.NET MVC+EF6+Bootstrap开发框架,写代码就是比较比较麻烦,分层比较多,对于我这种偷懒的人就想到了写一个T4模板.不了解框 ...
- 初探Asp.net5
说到Asp.net 5,确实让我有种激动的心情,微软的全力大招在一波一波的发出,也在牵动着每一个程序员的心.作为你们中的一员,在每次看到微软的新技术时,都满怀一种激动的心情,也同时希望微软在开源和跨平 ...
- EF,MVC相关项目请参见→
End_Test和YM_EF抽象工厂 这两个项目
- 每天一个linux命令(12):head 命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾. 1.命令格式: hea ...
- 使用Git进行代码管理
Git简介 Git 是 Linux Torvalds 为了帮助管理 Linux® 内核开发而开发的一个开放源码的版本控制软件. 先讲一下如何把开源项目fork到自己的github中 1. 点击图中的 ...
- Ibatis学习总结2--SQL Map XML 配置文件
SQL Map 使用 XML 配置文件统一配置不同的属性,包括 DataSource 的详细配置信息, SQL Map 和其他可选属性,如线程管理等.以下是 SQL Map 配置文件的一个例子: Sq ...
- Linux_日志信息
一.httpd日志:/var/log/httpd1.软件位置:whereis httpd2.配置文件位置:/etc/httpd/conf/httpd.conf 二.mysql日志:/var/log 查 ...