IOS之PageControl和ScrollView搭配
来源:互联网 发布:mac 恢复 不了 编辑:程序博客网 时间:2024/04/30 18:30
//
// ScrollViewController.m
// Scroll
//
// Created by book mac on 13-1-20.
// Copyright (c) 2013年 __【liric】__. All rights reserved.
//
#import "ScrollViewController.h"
@implementation ScrollViewController
@synthesize myscrollview,mypagecontrol,array;
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
int pageCount =3; // 设置页面数
float pageControlHeight =18.0; // 设置pageControl高度
CGRect myscroll =CGRectMake(0, 0,320, 260);
myscroll.size.height = myscroll.size.height - pageControlHeight;
myscrollview = [[UIScrollViewalloc] initWithFrame:myscroll];//初始化myscrollview
myscrollview.pagingEnabled =YES; //是否翻页
myscrollview.backgroundColor = [UIColorredColor]; // myscrollview 背景红色
myscrollview.showsVerticalScrollIndicator =NO; // 垂直方向的滚动指示器
myscrollview.showsHorizontalScrollIndicator =NO;// 水平方向的滚动指示器
myscrollview.indicatorStyle =UIScrollViewIndicatorStyleBlack;//滚动指示器的风格
// myscrollview.directionalLockEnabled = YES; //只能一个方向滑动
myscrollview.contentSize =CGSizeMake(myscrollview.frame.size.width*pageCount,myscrollview.frame.size.height);// 滚动区域,三个页面的宽度
myscrollview.delegate =self; // 委托,引用UIScrollViewDelegate协议
CGRect pagerect = [self.viewbounds];
pagerect.size.height = pageControlHeight; // pageControl高18
pagerect.origin.y = myscroll.size.height; // x=0,y坐标即myscroll的高
mypagecontrol = [[UIPageControlalloc]initWithFrame:pagerect]; // 初始化mypagecontrol
mypagecontrol.backgroundColor = [UIColorblackColor]; // mypagecontrol 背景黑色
mypagecontrol.numberOfPages = pageCount;//页面数为3
mypagecontrol.currentPage =0; // 当前默认0为第一页
[mypagecontroladdTarget:selfaction:@selector(change:)forControlEvents:UIControlEventValueChanged];// 触摸mypagecontrol触发change这个方法事件
[self.viewaddSubview:myscrollview];
[self.viewaddSubview:mypagecontrol];
NSMutableArray * imgArr = [[NSMutableArrayalloc]initWithObjects:
[UIImageimageNamed:@"1933_1.jpg"],
[UIImageimageNamed:@"1933_2.jpg"],
[UIImageimageNamed:@"1933_3.jpg"],
nil]; // 数组放三张图片
self.array = imgArr;
for (int i =0; i<[arraycount]; i++)
{
[selfloadScrollViewWithPage:i]; // 遍历数组
}
}
- (void)loadScrollViewWithPage:(int)index
{
UIImageView * view = [[UIImageViewalloc]initWithImage:[self.arrayobjectAtIndex:index]]; // UIImageView初始化,存放数组里的图片
int pagecount = [[myscrollviewsubviews] count]; // 统计页面数
CGRect rect =myscrollview.frame;
rect.origin.y=0; // y 坐标不变
rect.origin.x=myscrollview.frame.size.width*pagecount;// x坐标 改变
view.frame=rect;
[myscrollviewaddSubview:view];
}
- (void)change:(id)sender
{
int page =mypagecontrol.currentPage; // 获取当前的page
CGRect frame =myscrollview.frame;
frame.origin.y =0; // y 坐标不变
frame.origin.x = frame.size.width*page;// x 坐标改变
[myscrollviewscrollRectToVisible:frame animated:YES];// 滚动切换图片,动画效果
}
- (void)scrollViewDidScroll:(UIScrollView *)sender
{
CGFloat pagewidth =myscrollview.frame.size.width;
int page =floor((myscrollview.contentOffset.x - pagewidth/2)/pagewidth)+1;
mypagecontrol.currentPage = page;// 触摸pageControl也能滚动切换图片
}
- IOS之PageControl和ScrollView搭配
- scrollView和pageControl的搭配使用
- iPhone开发笔记 (5) scrollView和pageControl的搭配使用
- iPhone开发笔记 scrollView和pageControl的搭配使用
- iPhone开发笔记 (5) scrollView和pageControl的搭配使用
- scrollview和pageControl
- iOS uiscrollview和pagecontrol
- [IOS]ScrollView & PageControl 制作引导页
- IOS控件之ScrollView,PageControl---APP首次打开引导页面效果实现~
- scrollView分页和pageControl,广告栏实现
- ios菜鸟之路:uiscrollview和pagecontrol的使用方法
- ios菜鸟之路:uiscrollview和pagecontrol的使用方法
- iOS开发之自定义pageControl
- IOS页面滑动Sample——ScrollView+PageControl
- IOS页面滑动Sample——ScrollView+PageControl
- IOS学习 scrollView,pageControl,tableView在同一页面上处理
- 10.3 UIScrollview概念和用法:ScrollView和PageControl
- iOS-PageControl
- MyEclipse 6.5 下载及注册
- 第四节 html5学习——音频
- 取出 option 的值
- 第五节 html5学习——拖放
- A utility for importing/exporting between hbase and csv file
- IOS之PageControl和ScrollView搭配
- 第六节 html5学习——画布
- 归来一周年(转载)
- 很牛的八个凡是
- UBUNTU虚拟机转移后不能上网
- 导航栏消失动画效果
- 黑马程序员_异常
- JDK7 API下载地址
- Delphi Invalidate的用法