06_UIScrollView

原创 2015年11月19日 08:49:39
#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];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];

    // 创建UIScrollView
    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
    [self.view addSubview:scrollView];
    scrollView.backgroundColor = [UIColor yellowColor];
    [scrollView release];

// 让scrollView进行滚动,这个属性很重要,只有设置了这个属性它才可以进行滚动
    // 水平滚动设置width,垂直滚动设置height
    scrollView.contentSize = CGSizeMake(8 * WIDTH, 0);
    // 按照页来进行滚动
    scrollView.pagingEnabled = YES;

//    NSLog(@"%@", scrollView.subviews);
    // 把图片放到scrollview上
    for (NSInteger i = 1; i < 8; i++) {
        // 拼接图片名
        NSString *imageName = [NSString stringWithFormat:@"h%ld.jpeg", i];
        // 把图片放到imageView上
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(WIDTH * (i - 1), 0, WIDTH, HEIGHT)];
        imageView.image = [UIImage imageNamed:imageName];

        [scrollView addSubview:imageView];
        [imageView release];
    }
//    NSLog(@"%@", scrollView.subviews);
//    NSLog(@"%ld", scrollView.subviews.count);
    // 在第7张图片的后面,再加一个imageView,并且显示第一张图片内容,注意,相应的contentdize也要进行修改
    UIImageView *lastImageView = [[UIImageView alloc] initWithFrame:CGRectMake(7 * WIDTH, 0, WIDTH, HEIGHT)];
    lastImageView.image = [UIImage imageNamed:@"h1.jpeg"];
    [scrollView addSubview:lastImageView];
    [lastImageView release];


    // 关闭边界回弹效果
    scrollView.bounces = NO;

    // 把水平和垂直的滚动条关闭
    // 垂直
//    scrollView.showsVerticalScrollIndicator = NO;
    // 水平
    scrollView.showsHorizontalScrollIndicator = NO;

    scrollView.tag = 1000;
    [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(changeImage) userInfo:nil repeats:YES];

    // 设置代理人
    scrollView.delegate = self;
}


#pragma mark 只要一拖拽,一滚动,就会触发这个协议方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"%g", scrollView.contentOffset.x);
}
#pragma mark 当滑动结束,稳定之后才会被触发
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    NSLog(@"我被触发了");
        if (scrollView.contentOffset.x == WIDTH * 7) {
        scrollView.contentOffset = CGPointMake(0, 0);
    }
}


#pragma mark 通过NSTimer来让scrollView进行无限滚动
- (void)changeImage
{
    // 通过tag值找scrollview
    UIScrollView *scrollView = (UIScrollView *)[self.view viewWithTag:1000];
    // 通过偏移量,让哪一张视图显示在屏幕上,重要!!!
    [scrollView setContentOffset: CGPointMake(scrollView.contentOffset.x + WIDTH, 0)animated:YES];
//    scrollView.contentOffset =  CGPointMake(scrollView.contentOffset.x + WIDTH, 0);

    // 判断是否到当前的最后一张,如果到了需要把偏移量设置到第一张图片位置
    if (scrollView.contentOffset.x == WIDTH * 7) {
        scrollView.contentOffset = CGPointMake(0, 0);
    }

}
...
@end

UI06_UIScrollView

UIScrollView继承UIView.可以通过创建UIView的四部对UIScrollViewself.view.backgroundColor = [UIColor whiteColor]; ...

UIScrollview循环滚动

  • 2016年03月29日 09:22
  • 743KB
  • 下载

UIScrollView

  • 2015年12月28日 10:55
  • 263KB
  • 下载

UIScrollView(循环滚动图片)

UIScrollView(循环滚动图片) 字数1900 阅读1347 评论0 喜欢6 我们会经常用到循环滚动图片,包括定时滚动,点击触发事件。 以前所知道的循环滚动图片的方法是这样的...
  • wakice
  • wakice
  • 2016年01月05日 16:56
  • 186

UIScrollView 无限自动循环

  • 2015年11月13日 11:45
  • 1.38MB
  • 下载

iOS开发UI篇—UIScrollView控件实现图片轮播

一、实现效果 实现图片的自动轮播            二、实现代码 storyboard中布局 代码: 1 #import "YYViewController.h" ...

UIScrollView 用法详解

  • 2015年08月30日 21:42
  • 438KB
  • 下载

[iOS]UIScrollview自定义分页的实现方法

UIScrollView及其子类UITableView, UICollectionView为iOS开发带来了极大的方便, 其分页(pagingEnabled)功能也很常用, 但是功能却有些局限, 页只...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:06_UIScrollView
举报原因:
原因补充:

(最多只允许输入30个字)