UIScrollView与UIPageControl

关键代码如下:

#import “B3ViewController.h”

 

@interface B3ViewController ()

 

@end

 

@implementation B3ViewController

 

@synthesize pageControl;

@synthesize t_values;

@synthesize scroView;

 

//点击白点

-(IBAction)chicks:(id)sender{

NSInteger gg = pageControl.currentPage;//当前页

t_values.text = [NSString stringWithFormat:@”name:%i”,gg];

switch (gg) {

case 0:

//ScrollView 中内容的当前位置

scroView.contentOffset = CGPointMake(0, 0);

break;

case 1:

scroView.contentOffset = CGPointMake(200, 0);

break;

case 2:

scroView.contentOffset = CGPointMake(400, 0);

break;

 

default:

break;

}

}

 

– (void)viewDidLoad

{

[super viewDidLoad];

 

//向 ScrollView 中加入第一个 View,View 的宽度 200 加上两边的空隙 5 等于 ScrollView 的宽度

UIImageView *img1 = [[UIImageView alloc]initWithFrame:CGRectMake(0,0,200,90)];

img1.image = [UIImage imageNamed:@”African Daisy.gif”];

[scroView addSubview:img1];

 

//第二个 View,它的宽度加上两边的空隙 5 等于 ScrollView 的宽度,两个 View 间有 10 的间距

UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(200,0,200,90)];

view2.backgroundColor = [UIColor greenColor];

[scroView addSubview:view2];

 

//第三个 View

UIView *view3 = [[UIView alloc] initWithFrame:CGRectMake(400,0,200,90)];

view3.backgroundColor = [UIColor blueColor];

[scroView addSubview:view3];

 

//这个属性很重要,它可以决定是横向还是纵向滚动,一般来说也是其中的 View 的总宽度,和总的高度

//这里同时考虑到每个 View 间的空隙,所以宽度是 200×3+5+10+10+5=630

//高度上与 ScrollView 相同,只在横向扩展,所以只要在横向上滚动

scroView.contentSize = CGSizeMake(600, 100);

 

//用它指定 ScrollView 中内容的当前位置,即相对于 ScrollView 的左上顶点的偏移

scroView.contentOffset = CGPointMake(200, 0);

 

//按页滚动,总是一次一个宽度,或一个高度单位的滚动

scroView.pagingEnabled = YES;

 

// Do any additional setup after loading the view.

}

 

#pragma mark –

#pragma mark UIScrollView 翻页委托方法

– (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

NSLog(@”123″);

NSInteger index = fabs(scrollView.contentOffset.x) / scrollView.frame.size.width;

 

pageControl.currentPage = index;

}

… …

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注