UIScrolView

•ScrollView的作用
–用于显示超出应用程序窗口大小的内容
–允许用户通过拖动手势滚动查看视图中的内容
–允许用户通过捏合手势缩放视图中的内容
•常用属性
CGSize contentSize
CGPoint contentOffset
UIEdgeInsets contentInset
•缩放效果
( UIView * ) viewForZoomingInScrollView :返回要缩放的视图
•分页效果
pagingEnabled = YES
–通常结合UIPageControl一起使用


一张图片分页显示


- (void)viewDidLoad {

    [super viewDidLoad];

    //1.初始化scrollview

    _scrollView=[[UIScrollView alloc]initWithFrame:self.view.bounds];

    //2. 要添加的图像

    //2.1 不写@2x,系统会自动变为低分辨率的图    

    UIImage *image=[UIImage imageNamed:@"keke01"];

    UIImageView *imageview=[[UIImageView alloc]initWithImage:image];

    [_scrollView addSubview:imageview];


    //3.属性设置

    //3.1.取消水平条

    [_scrollView setContentSize:image.size];

    [_scrollView setShowsHorizontalScrollIndicator:NO];

    //3.2.取消弹跳

    [_scrollView setBounces:NO];

    

    //4. 加上分页效果

    [_scrollView setPagingEnabled:YES];

    

    //5. 添加到整个view

    [self.view addSubview:_scrollView];

    

    //6.设置代理

    [_scrollView setDelegate:self];

    

    //7.1 增加分页控制器

    _pageControl=[[UIPageControl alloc]init];

    //7.1.1位置+大小

    //大小

    [_pageControl setBounds:CGRectMake(0, 0, 150, 50)];

    //位置(小点点)

    [_pageControl setCenter:(CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height-100))];

    [_pageControl setNumberOfPages:2];

    [_pageControl setCurrentPage:0];

    //当前选中页面标示

    [_pageControl setCurrentPageIndicatorTintColor:[UIColor redColor]];

    //未选页面标示

    [_pageControl setPageIndicatorTintColor:[UIColor blackColor]];

    [_pageControl addTarget:self action:@selector(updatePageChange:) forControlEvents:UIControlEventValueChanged];

    // 添加到整个view

    [self.view addSubview:_scrollView];

    [self.view addSubview:_pageControl];

}


-(void)updatePageChange:(UIPageControl *)pageController

{

    CGFloat offsetX=pageController.currentPage*_scrollView.bounds.size.width;

        [_scrollView setContentOffset:CGPointMake(offsetX, 0) animated:YES];

}


//完成减速,意味着成功切换

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

    //设施pageccontrol的页数

    NSInteger pageNo = scrollView.contentOffset.x / scrollView.bounds.size.width;

    [_pageControl setCurrentPage:pageNo];

}


多张图片分页:将图片链接到一起,变成一张大图

- (void)viewDidLoad {

    [super viewDidLoad];

    

    //实力化scrollview

    

    _scrollView=[[UIScrollView alloc]initWithFrame:self.view.bounds];

    CGFloat width=_scrollView.bounds.size.width;

    CGFloat height=_scrollView.bounds.size.height;

    //添加图片

    for (NSInteger i=0; i<5; i++)

    {

        

        NSString *imageFile=[NSString stringWithFormat:@"%d.jpg",i+1];

        UIImage *image=[UIImage imageNamed:imageFile];

        UIImageView *imageView=[[UIImageView alloc]initWithImage:image];

        //imageView放置位置

        [imageView setFrame:CGRectMake(width*i, 0, width, height)];

        [_scrollView addSubview:imageView];

    }

    

        //设置属性

        CGSize size=CGSizeMake(5*width, height);

        [_scrollView setContentSize:size];

        [_scrollView setShowsHorizontalScrollIndicator:NO];

        [_scrollView setBounces:NO];

        [_scrollView setPagingEnabled:YES];

        

        [self.view addSubview:_scrollView];

        

        //设置代理

        [_scrollView setDelegate:self];

        

        //添加pageControl

        _pageControl=[[UIPageControl alloc]init];

        

        //设置pageControl

        [_pageControl setBounds:CGRectMake(0, 0, 150, 50)];

        [_pageControl setCenter:CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height-100)];

        

        [_pageControl setNumberOfPages:5];

        [_pageControl setCurrentPage:0];

        

        [_pageControl setCurrentPageIndicatorTintColor:[UIColor redColor]];

        [_pageControl setPageIndicatorTintColor:[UIColor blackColor]];

    

    // 方法

    [_pageControl addTarget:self action:@selector(updatePageChange:) forControlEvents:UIControlEventValueChanged];


    [self.view addSubview:_scrollView];

    [self.view addSubview:_pageControl];

    }

    

#pragma mark scrollview代理方法

    

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

    NSInteger pageNo=_scrollView.contentOffset.x/_scrollView.bounds.size.width;

    [_pageControl setCurrentPage:pageNo];

    

}


-(void)updatePageChange:(UIPageControl*)pageController

{

    CGFloat offsetX=pageController.currentPage*_scrollView.bounds.size.width;

    [_scrollView setContentOffset:CGPointMake(offsetX, 0) animated:YES];

    

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值