//先定义宏
#define WIDTH self.view.frame.size.width
#define HEIGHT self.view.frame.size.height
//创建UIScrollView
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
scrollView.backgroundColor = [UIColor orangeColor];
[self.view addSubview:scrollView];
[scrollView release];
//非常重要的属性:只有设置它才能滚动 那么它究竟是谁呢?
//可以滑动的范围:
scrollView.contentSize = CGSizeMake(9*WIDTH, 0);
//通过循环创建对象,然后通过scrollview上显示
for (NSInteger i = 1; i< 8; i++) {
NSString *imageName = [NSString stringWithFormat:@"h%ld.jpeg",i];
UIImage *image = [UIImage imageNamed:imageName];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((i)*WIDTH, 0, WIDTH, HEIGHT)];
imageView.image = image;
[scrollView addSubview:imageView];
[imageView release];
}
//一页一页的滑动(按页滑动)
scrollView.pagingEnabled = YES;
//边界回弹取消
scrollView.bounces = NO;
//设置水平和垂直的滚动条不显示
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
//第二个非常重要的属性
//偏移量
scrollView.contentOffset = CGPointMake(WIDTH, 0);
//给scrollView加一个方法
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];
-(void)changeImage{
//1.先找到对应的scrollView
UIScrollView *scrollView = (UIScrollView *)[self.view viewWithTag:1000];
[scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x+WIDTH, 0) animated:YES];
if (scrollView.contentOffset.x == 8*WIDTH) {
scrollView.contentOffset = CGPointMake(WIDTH, 0);
}
}
//签协议
@interface RootViewController ()<UIScrollViewDelegate>
scrollView.delegate = self;
//这个协议方法只要是一碰它就会触发
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSLog(@"1222");
}
// 开始拖拽的时候会触发这个方法
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
NSLog(@"1111");
}
//当结束拖拽的时候会触发这个方法
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
NSLog(@"222");
}
//滚动彻底结束的时候会触发
//定义一个第一张来接最后一张,起过度作用
UIImageView *firstImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
firstImageView.image = [UIImage imageNamed:@"h7.jpeg"];
[scrollView addSubview:firstImageView];
[firstImageView release];
//定义一个最后一张承接第一张,起过度作用
UIImageView *lastImageView = [[UIImageView alloc] initWithFrame:CGRectMake(8*WIDTH, 0, WIDTH, HEIGHT)];
lastImageView.image = [UIImage imageNamed:@"h1.jpeg"];
[scrollView addSubview:lastImageView];
[lastImageView release];
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSLog(@"彻底结束了");
//可以循环滑动
if (scrollView.contentOffset.x == 8*WIDTH) {
scrollView.contentOffset = CGPointMake(WIDTH, 0);
}
else if (scrollView.contentOffset.x == 0){
scrollView.contentOffset = CGPointMake(7*WIDTH, 0);
}
}
UI06_UIScrollView
最新推荐文章于 2024-08-09 08:26:09 发布