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)];

[email protected]"啊,多么美得一幅画!";

[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

时间: 2024-11-09 04:41:46

UIScrollView,UIPageControl的相关文章

学习IOS开发UI篇--UI知识点总结(三) UIScrollView/UIPageControl/NSTimer

UIScrollView:常用属性 @property(nonatomic)   UIEdgeInsets     contentInset;               // default UIEdgeInsetsZero. add additional scroll area around content @property(nonatomic,getter=isPagingEnabled) BOOL   pagingEnabled;     // default NO. if YES,

swift开发之 -- 自动轮播图(UIScrollView+UIPageControl+Timer)

比较简单,原理就不说了,这里只做记录: 代码如下: 1,准备 var pageControl:UIPageControl? var myscrollView:UIScrollView? var myTimer:Timer? var mycurrentPage:NSInteger? var courses = [ ["name":"first","pic":"1.jpeg"], ["name":"s

启动图实现:UIScrollView+UIPageControl简单实现

#import "MJViewController.h"#import "RootViewController.h" @interface MJViewController () <UIScrollViewDelegate>@property (strong, nonatomic) UIScrollView *scrollView;@property (strong, nonatomic) UIPageControl *pageControl;@prop

iOS纯代码制作欢迎界面——UIScrollView, UIPageControl, UIImageView,UIButton, NSTimer

欢迎界面,还是比较简单的,一个UIScrollView控件,一个UIPageControl,几个UIImageView即可摆平.在这里光玩这些,就显得诚意不足了.特意拓展一下,再加几个UIButton,可以让这个欢迎界面变成可点击的,可滑动的模块添加在页面中,然后再加一个NSTimer,让它自己隔2秒自己循环滑动着,立马让它变成可以放在主页用于展示主打商品的模块. 下面直接展示可直接运行的Demo,代码都挺简单,这次就不添加注解了. #import "ViewController.h"

【学习ios之路:UI系列】实现轮播图效果(UIImageView,UIScrollView,UIPageControl,NSTimer相结合)

实现效果,在不点击的情况下,自定滚动,点击时,停止.如下图 部分代码如下: //调用NSTimer方法,自定计时 - (void)autoScroll { self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self  selector:@selector(scrollToRight) userInfo:nil repeats:YES]; } //实现触发方法 - (void)scrollToRight { [UIVie

UIScrollView和UIPageControl结合实现图片浏览

iOS中具有图片类的app通常都会有滑动浏览的功能,许多app第一次启动时,也会用UIScrollView+UIPageControl来展示新功能.今天探索一下如何实现该功能. 首先介绍下UIScrollView, UIScrollView中有个重要的属性是contentSize,用于界定滑动范围的大小.UIScrollView本身frame是我们在屏幕上可视部分,也就是说contentSize的宽要大于UIScrollView.frame.size.width才能实现滑动浏览的功能. 另外,图

第二、UIScrollView的使用大全

UIScrollView UIPageControl 的使用 2011-11-19 16:48 4690人阅读 评论(0) 收藏 举报 imagescrollspringiphone // //            scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 10, self.view.frame.size.height); //        [self.view addSubview:scrollView

FlipView For Xamarin.Form 之 IOS

之前写过两篇博文 是关于 Android 和 Windows Phone 下的 FlipView 的实现. 上上周,有个印度佬通过 GitHub 找到我, 问我有没有打算个 ios 端的,还说比较了相同功能的几个开源项目,我的这个项目值得推荐.说的我心潮澎湃,上周末花了一个周末升级到最新的 XCode 7,顺便也升级到了 OS X EI Capitan, 安装了最新的 Xamarin, 使用了 IOS 9 提供的免费证书,终于于今天凌晨1点(10月25)把 ios 端的 renderer 给写出

图片轮播器

? 1 SB里只需要两个控件: UIScrollView UIPageControl ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 7