UIScrollView,UIPageControl

#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UIScrollViewDelegate>
@end
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//组成
//上面 一个scrolview,一个addlable
//中间一个pagecontrol
//下面一个myScrollview一个remove按钮
self.view.backgroundColor=[UIColor greenColor];
/***************UIScrollView*********************************/
UIScrollView *scrolview=[[UIScrollView alloc]initWithFrame:CGRectMake(20, 20, 280, 180)];//高度等于图片高度,宽度小于图片宽度
scrolview.backgroundColor=[UIColor blueColor];
scrolview.contentSize=CGSizeMake(770, 180);//有效的显示范围小于图片,图片不完全显示
UIImageView *imageview=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 770, 180)];
imageview.image=[UIImage imageNamed:@"zhizhu"];
imageview.backgroundColor=[UIColor yellowColor];
[scrolview addSubview:imageview];
[self.view addSubview:scrolview];
UILabel *addlable=[[UILabel alloc]initWithFrame:CGRectMake(310, 150, 160, 30)];
addlable.text=@"啊,多么美得一幅画!";
[scrolview addSubview:addlable];
scrolview.pagingEnabled=YES;//分页显示的效果
[scrolview setContentOffset:CGPointMake(250, 0) animated:YES];//加载后横向滚动300像素
scrolview.scrollEnabled=YES;//是否可以滚动的属性
scrolview.userInteractionEnabled=YES;//设置交互的属性
scrolview.showsHorizontalScrollIndicator=YES;
scrolview.showsVerticalScrollIndicator=YES;//设置滚动条是否显示
scrolview.bounces=NO;//设置边界的反弹效果,滚到边界将不再滚动
//添加下面的myScrollview
int weigth=700*280/1066;
UIScrollView *myScrollview=[[UIScrollView alloc]initWithFrame:CGRectMake(50, 250,weigth, 280)];//显示框大小
myScrollview.tag=121;
myScrollview.backgroundColor=[UIColor redColor];
myScrollview.contentSize=CGSizeMake(weigth*5, 280);//有效显示区域
myScrollview.delegate=self;//添加代理
//添加图片组
for (int i=0; i<5; i++) {
UIImageView *imageview1=[[UIImageView alloc]initWithFrame:CGRectMake(weigth*i, 0, weigth, 280)];
NSString *imageName=[NSString stringWithFormat:@"%d.jpg",i+1];
imageview1.image=[UIImage imageNamed:imageName];
[myScrollview addSubview:imageview1];
}
//最后一页添加一个按钮
UIButton *remove=[UIButton buttonWithType:UIButtonTypeCustom];
remove.frame=CGRectMake(weigth*4+(weigth-100)/2, 220, 100, 35);//设置按钮位置,可以随页面移动
remove.backgroundColor=[UIColor orangeColor];
[remove setTitle:@"开始体验" forState:UIControlStateNormal];
[remove addTarget:self action:@selector(doRemoveScrollView:) forControlEvents:UIControlEventTouchUpInside];//添加事件
[myScrollview addSubview:remove];//添加按钮
myScrollview.pagingEnabled=YES;//按页翻动
[self.view addSubview:myScrollview];
//添加pagecontrol小白点,每个小白点一个页数
UIPageControl *pagecontrol=[[UIPageControl alloc]initWithFrame:CGRectMake(0, 210, 320, 30)];
pagecontrol.tag=122;
pagecontrol.backgroundColor=[UIColor blueColor];
[pagecontrol addTarget:self action:@selector(pageControlSelector:) forControlEvents:UIControlEventValueChanged];//添加事件
pagecontrol.numberOfPages=5;//控制显示的页数
pagecontrol.currentPage=0;//默认显示第几页;
[self.view addSubview:pagecontrol];
}
//每次scrollView变化后小白点位置变化
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
UIPageControl *pagec=(UIPageControl *)[self.view viewWithTag:122];
CGPoint point1=scrollView.contentOffset;
NSLog(@"%f",(float)point1.x);
[pagec setCurrentPage:point1.x/183];
}
//每次pagecontrol变动后scrollview都跟着变化
-(void)pageControlSelector:(UIPageControl *)sender{
UIScrollView *getscroll=(UIScrollView *)[self.view viewWithTag:121];//拿到scrollview;知道滚动对象
CGSize size=getscroll.frame.size;
CGRect reck1=CGRectMake((sender.currentPage *size.width), 0, size.width, size.height);
[getscroll scrollRectToVisible:reck1 animated:YES];
}
//按钮的方法
-(void)doRemoveScrollView:(id)sender{
UIView *removeView=[self.view viewWithTag:121];
[removeView removeFromSuperview ];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
@end
UIScrollView,UIPageControl的更多相关文章
- UIScrollView,UIPageControl,UIImageView 实现图片轮播的效果
上一篇博客介绍了如何将XCode创立的项目提交到Git版本控制,这次就直接做一个图片轮播的展示demo,刚好可以把UIScrollView.UIPageControl.UIImageView这三个控件 ...
- 启动图实现:UIScrollView+UIPageControl简单实现
#import "MJViewController.h"#import "RootViewController.h" @interface MJViewCont ...
- iOS纯代码制作欢迎界面——UIScrollView, UIPageControl, UIImageView,UIButton, NSTimer
欢迎界面,还是比较简单的,一个UIScrollView控件,一个UIPageControl,几个UIImageView即可摆平.在这里光玩这些,就显得诚意不足了.特意拓展一下,再加几个UIButton ...
- IOS初级:UIScrollView & UIPageControl
UIScrollView其实构建的就像一列很长的火车,每滑动一个屏幕,展示一节车厢. //主屏幕高度 #define kScreenHeight [UIScreen mainScreen].bound ...
- swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)
比较简单,原理就不说了,这里只做记录: 代码如下: 1,准备 var pageControl:UIPageControl? var myscrollView:UIScrollView? var myT ...
- 第二、UIScrollView的使用大全
UIScrollView UIPageControl 的使用 2011-11-19 16:48 4690人阅读 评论(0) 收藏 举报 imagescrollspringiphone // // ...
- FlipView For Xamarin.Form 之 IOS
之前写过两篇博文 是关于 Android 和 Windows Phone 下的 FlipView 的实现. 上上周,有个印度佬通过 GitHub 找到我, 问我有没有打算个 ios 端的,还说比较了相 ...
- iOS:核心动画的详解介绍:CAAnimation(抽象类)及其子类
核心动画的详解介绍:CAAnimation(抽象类) 1.核心动画基本概念 Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍! 使用它 ...
- iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...
随机推荐
- QStyle 新风格的实现
摸索了很久,实际实现才发现很简单. 利用qt助手搜style可以发现style的实现和qapplication有关,在Qapplication里面搜到函数: void QApplication:: ...
- IOS开发之路三(XML解析之KissXML的使用)
最近再做一个项目需要用到xml的解析.今天查了一些资料自己做了一个小demo.纯OC没有界面.. 在IOS平台上进行XML文档的解析有很多种方法,在SDK里面有自带的解析方法,但是大多情况下都倾向于用 ...
- 一步一步实现iOS微信自动抢红包
微信红包 前言:最近笔者在研究iOS逆向工程,顺便拿微信来练手,在非越狱手机上实现了微信自动抢红包的功能. 此教程所需要的工具/文件 yololib class-dump dumpdecrypte ...
- Asp.Net 之 MasterPage
母版页是VS2005中新引入的一个概念,它很好地实现界面设计的模块化,并且实现实现了代码的重用.它就像婚纱影楼中的婚纱模板,同一个婚纱模板可以给不同的新人用,只要把他们的照片贴在已有的婚纱模板就可以形 ...
- SSAS中Cube的结构
在SSAS(SQL Server Analysis Services)中构建Cube和编写MDX的时候,我们很容易被一些名词弄糊涂,比如:Dimension(维度),Measures Dimensio ...
- jQuery的deferred对象详解(一)
最近一段时间,都在研究jquery里面的$.Deffered对象,几天都搞不明白,其中源码的运行机制,网上查找了相关的资料,<jQuery的deferred对象详解>阮一峰老师的文章,里面 ...
- React Native(ios)项目中logo,启动屏设置
由于logo和启动屏尺寸多,react native(ios)中没有命令可以自动生成各种的尺寸,所以可以使用以下办法:在ionic项目中生成(使用命令:ionic resources)后,再粘贴到re ...
- hdu 4725 最短路
思路:将每个layer拆成两个点,编号为N+x,和N+N+x.对所有属于layer x的点i,建N+x到i的有向边,在建i到N+N+x的有向边.最后对所有x号layer和x+1建一条N+N+x到N ...
- ankhSVN安装后,VS2010使用
Tool->option->Source control->plug-in selection,选择ankhSVN AnkhSvn-2.5.12478.zip
- JavaScript库开发者们的规则
详细内容请点击 1. 保持无侵入性 我的HTML标记不想知道你的JavaScript代码. 2. 严禁修改和扩展Object.prototype! 这条很重要,因此需要一条完全针对它的规则.对象是Ja ...