UIScrollView

UIScrollView
UIScrollView可以让屏幕滚动

AppDelegate.m

#import "AppDelegate.h"
#import "RootViewController.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.window.backgroundColor=[UIColor whiteColor];
    [self.window makeKeyAndVisible];
    [_window release];
    RootViewController *vc=[[RootViewController alloc] init];
    self.window.rootViewController=vc;
    [vc release];



    return YES;
}

RootViewController.h

#import "RootViewController.h"

#define HEIGHT self.view.frame.size.height
#define WIDTH self.view.frame.size.width

@interface RootViewController ()<UIScrollViewDelegate>

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
  //
    UIScrollView *scrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
    scrollView.backgroundColor=[UIColor cyanColor];
    [self.view addSubview:scrollView];
    [scrollView release];

    //非常重要的属性:只有设置他才能滚动
    scrollView.contentSize=CGSizeMake(9*WIDTH, 0);
    //在scrollView第一个位置
    UIImageView *firstImageView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
    firstImageView.image=[UIImage imageNamed:@"h7.jpeg"];
    [scrollView addSubview:firstImageView];
    [firstImageView release];

    //通过循环创建对象,然后通过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(WIDTH*i, 0, WIDTH, HEIGHT)];
        imageView.image=image;
        [scrollView addSubview:imageView];
        [imageView release];
    }

    UIImageView *lastImageView=[[UIImageView alloc] initWithFrame:CGRectMake(8*WIDTH, 0, WIDTH, HEIGHT)];
    lastImageView.image=[UIImage imageNamed:@"h1.jpeg"];
    [scrollView addSubview:lastImageView];
    [lastImageView release];

    //让他可以按页滑动
    scrollView.pagingEnabled=YES;
    //边界回弹取消
    scrollView.bounces=NO;
    //设置水平和垂直的滚动条不显示
    scrollView.showsHorizontalScrollIndicator=NO;
    scrollView.showsVerticalScrollIndicator=NO;

    //第二个非常重要的属性
    //偏移量
    scrollView.contentOffset=CGPointMake(WIDTH, 0);
    scrollView.tag=1000;

    //设置定时器让图片循环播放
//    [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];

     scrollView.delegate=self;


}

改变图片,让他循环

-(void)changeImage{
    //1.先找到对应的scrollView
    UIScrollView *scrollView=(UIScrollView *)[self.view viewWithTag:1000];
//(UIScrollView *)为强制类型转换

    [scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x+WIDTH, 0) animated:YES];
    if (scrollView.contentOffset.x==7*WIDTH) {
        scrollView.contentOffset=CGPointZero;
    }

}

让7张图片划完之后,跳转到第一张,继续滑动

//滚动彻底结束的时候会触发
-(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);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值