ScrollViewController.h

#import <UIKit/UIKit.h>

@interface ScrollViewController : UIViewController<UIScrollViewDelegate,UIPageViewControllerDelegate>
{ UIScrollView *_scrollView;
UIPageControl*_pageControl;
}
@end

ScrollViewController.m

#import "ScrollViewController.h"

@interface ScrollViewController ()

@end

@implementation ScrollViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) { }
return self;
} - (void)viewDidLoad
{
[super viewDidLoad]; //设置ScrollView的整体触摸与显示区域
//注意 宽 高不要超过 320X480
//否则会出现无法滚动的情况
_scrollView = [[[UIScrollView alloc] initWithFrame:CGRectMake(, , ,)] autorelease]; //设置ScrollView滚动内容的区域
//它通常是需要大于ScrollerView的显示区域的
//这样才有必要在ScrollerView中滚动它
[_scrollView setContentSize:CGSizeMake( * , )]; //开启滚动分页功能,如果不需要这个功能关闭即可
[_scrollView setPagingEnabled:YES]; //隐藏横向与纵向的滚动条
[_scrollView setShowsVerticalScrollIndicator:NO];
[_scrollView setShowsHorizontalScrollIndicator:NO]; //在本类中代理scrollView的整体事件
[_scrollView setDelegate:self]; //如果你打开横向或纵向的滚动条,这里可以设置滚动条的风格
// UIScrollViewIndicatorStyleDefault, 默认风格
// UIScrollViewIndicatorStyleBlack, 黑色风格
// UIScrollViewIndicatorStyleWhite 白色风格
//[_scrollView setIndicatorStyle:UIScrollViewIndicatorStyleBlack] for (int i =; i<; i++)
{ //在这里给每一个ScrollView添加一个图片 和一个按钮
UIImageView *imageView= [[[UIImageView alloc] initWithFrame:CGRectMake(i * ,,,)] autorelease];
[imageView setImage:[UIImage imageNamed:@"image.png"]]; UIButton * button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(i * , , , ); [button setTitle:@"这是一个按钮" forState:UIControlStateNormal]; [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside]; //把每页需要显示的VIEW添加进ScrollerView中
[_scrollView addSubview:imageView];
[_scrollView addSubview:button];
} //整体再将ScrollerView显示在窗口中
[self.view addSubview:_scrollView]; //页面控制小工具
//它会在底部绘制小圆点标志当前显示页面
_pageControl = [[[UIPageControl alloc] initWithFrame:CGRectMake(,,self.view.frame.size.width, )]autorelease];
//设置页面的数量
[_pageControl setNumberOfPages:];
//监听页面是否发生改变
[_pageControl addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_pageControl]; } - (void)changePage:(id)sender
{
//得到当前页面的ID
//int page = [sender currentPage]; //在这里写你需要执行的代码
//......
} //手指离开屏幕后ScrollView还会继续滚动一段时间只到停止
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{ NSLog(@"结束滚动后缓冲滚动彻底结束时调用");
} -(void) scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{ NSLog(@"结束滚动后开始缓冲滚动时调用");
} -(void)scrollViewDidScroll:(UIScrollView*)scrollView {
//页面滚动时调用,设置当前页面的ID
[_pageControl setCurrentPage:fabs(scrollView.contentOffset.x/self.view.frame.size.width)];
NSLog(@"视图滚动中X轴坐标%f",scrollView.contentOffset.x);
NSLog(@"视图滚动中X轴坐标%f",scrollView.contentOffset.y);
} -(void)scrollViewWillBeginDragging:(UIScrollView*)scrollView
{
NSLog(@"滚动视图开始滚动,它只调用一次");
} -(void)scrollViewDidEndDragging:(UIScrollView*)scrollView willDecelerate:(BOOL)decelerate
{
NSLog(@"滚动视图结束滚动,它只调用一次"); } -(void)buttonClick
{
NSLog(@"按钮点击了"); } - (void)viewDidUnload
{
[super viewDidUnload];
} - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
} @end

[IOS UIScrollView+PageControl]信息展示横幅的更多相关文章

  1. JavaScript实现联想校招员工信息展示

    原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 起因 今天和豪哥聊天,才知道他是我老乡,而且特别近..真的感觉他是我的贵人,这是他从 联想校招扣出来的,我们就用Java ...

  2. ios读取通讯录信息

    ios读取通讯录信息 (2012-05-22 14:07:11) 标签: ios读取通讯录 it   iphone如许app读取通讯录信息,读取通讯录信息时需要加载AddressBookUI 和Add ...

  3. XMPP个人信息展示

    在现阶段的通信服务中.各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现.实现了整个及时通信服务协议的互 ...

  4. IOS UIScrollView常用代理方法

    iOS UIScrollView代理方法有很多,从头文件中找出来学习一下 //只要滚动了就会触发 - (void)scrollViewDidScroll:(UIScrollView *)scrollV ...

  5. 微信小程序信息展示列表

    微信小程序信息展示列表 效果展示: 代码展示: wxml <view class="head"> <view class="head_item" ...

  6. 《Spring_Four》第三次作业——基于Jsoup的大学生考试信息展示系统的原型设计与开发

    <Spring_Four团队>第三次团队项目——基于Jsoup的大学生考试信息展示系统的原型设计与开发 一.实验目的与要求 (1)掌握软件原型开发技术: (2)学习使用软件原型开发工具:本 ...

  7. 《Spring_Four》第二次作业 基于Jsoup的大学生考试信息展示系统开题报告

    一.项目概述 该项目拟采用Jsoup对大学生三大考试(考研.考公务员.考教师资格证)进行消息搜集,研发完成一款轻量级的信息展示APP,本项目主要的创新点在于可以搜集大量的考试信息,对其进行一个展示,而 ...

  8. JavaEE-案例1-网站信息展示

    案例1-网站信息展示 需求: 在页面上展示一些文字信息,需要排版. 技术分析: html:超文本 标签 语言 作用:展示 超文本:超越了一般文本,描述文本的字体.颜色.图片 标签:标记 html书写规 ...

  9. 基于Ajax提交formdata数据、错误信息展示和局部钩子、全局钩子的校验。

    formdata重点: 实例化FormData这个类 循环serializeArray可以节省代码量 图片要用$('#id')[0].files[0]来获得 加上contentType:false和p ...

随机推荐

  1. java 21 - 12 随机访问流(不属于IO流)

    随机访问流: RandomAccessFile类不属于流,是Object类的子类. 但它融合了InputStream和OutputStream的功能. 支持对文件的随机访问读取和写入. public ...

  2. java 静态方法和实例方法的区别

    转自 java 静态方法和实例方法的区别 静态方法和实例方法的区别主要体现在两个方面:   在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法 ...

  3. 2014Ember带来怎样的变化?

    每隔几个月的时间,Ember的核心团队就会聚在一起讨论目前遇到的各种问题,并决定下一季度需要优先处理的各种事务. 这一次,在俄勒冈州的波特兰,大家聚在一起,商讨2014年的发展方向. 开发工具 &am ...

  4. Linux下smokeping网络监控环境部署记录

    smokeping是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等:smokeping会向目标设备和系统发 ...

  5. IOS证书/私钥/代码签名/描述文件

    1.   相关资源 (1)   钥匙串程序(常用工具->钥匙串),用于创建证书请求.安装证书.导出私钥等 (2)   IOS开发中心:https://developer.apple.com/de ...

  6. C# 无边框窗体之窗体移动

    点击窗体任意位置移动窗体: 需要添加命名空间: using System.Runtime.InteropServices; private const int WM_NCLBUTTONDOWN = 0 ...

  7. 【转】MySQL 性能优化的最佳20多条经验分享

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.   当我们去设计数据库表结构,对操 ...

  8. 变态跳台阶-一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    class Solution { public: int jumpFloorII(int number) { ) ; ) ; *jumpFloorII(number-); } };

  9. Ubuntu 16.04 LTS安装好需要设置的15件事(喜欢新版本)

    看到这篇文章说明你已经从老版本升级到 Ubuntu 16.04 或进行了全新安装,在安装好 Ubuntu 16.04 LTS 之后建议大家先做如下 15 件事.无论你是刚加入 Ubuntu 行列的新用 ...

  10. Zebra_Dialog 弹出层插件

    . Default dialog box, no custom settings. Click here to open. $.Zebra_Dialog('<strong>Zebra_Di ...