UIScrollView基本用法总结

1、contentSize:用来设置scrollView的滚动范围

self.scrollView.contentSize = self.imgView.image.size;

2、contentOffset:用来设置scrollView滚动的偏移量

- (IBAction)scroll {
   CGPoint point = self.scrollView.contentOffset;
    point.x += 100;
    point.y += 100;
    self.scrollView.contentOffset = point;
}

执行scroll方法,将imgView按照指定的偏移量进行滚动。
注:(1)使用block动画的方式来对imgView进行滚动

	[UIView animateWithDuration:0.7 animations:^{
    self.scrollView.contentOffset = point;
}];

(2)直接使用动画的方式来对设置contentOffset属性的值

 [self.scrollView setContentOffset:point animated:YES];

3、contentInset:设置UIScrollView的内容在拖动以后,内容距离UIScrollView的内边距(想象成把内容加大了,在内容本身的周围加了一圈“外边距”)。

    //设置UIScrollView的内容的内边距
    self.scrollView.contentInset = UIEdgeInsetsMake(100, 50, 30, 5);

4、是否显示水平和垂直滚动条

    //隐藏滚动指示器
    self.scrollView.showsHorizontalScrollIndicator = NO;
    self.scrollView.showsVerticalScrollIndicator = NO;

5、通过代理监听滚动事件
(1)通过代码来实现监听

@interface ViewController () <UIScrollViewDelegate>
......
//即将开始拖拽
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    NSLog(@"即将开始拖拽,scrollViewWillBeginDragging。。。");
}

//正在滚动
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"正在滚动,scrollViewDidScroll。。。");
    
    //输出当前滚动的位置
    NSString *point = NSStringFromCGPoint(scrollView.contentOffset);
    NSLog(@"%@",point);
}

//拖拽完毕
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    NSLog(@"拖拽完毕,scrollViewDidEndDragging。。。");
}

(2)通过拖拽实现监听:将scrollView的delegate关联上View Controller请添加图片描述
接下来写监听代码就可以了。

//即将开始拖拽
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    NSLog(@"即将开始拖拽,scrollViewWillBeginDragging。。。");
}

//正在滚动
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"正在滚动,scrollViewDidScroll。。。");
    
    //输出当前滚动的位置
    NSString *point = NSStringFromCGPoint(scrollView.contentOffset);
    NSLog(@"%@",point);  
}

//拖拽完毕
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    NSLog(@"拖拽完毕,scrollViewDidEndDragging。。。");
}

6、UIScrollView实现缩放功能

//实现缩放,在这个方法中返回要进行缩放的子控件(这个方法在缩放前就会被调用)
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
    NSLog(@"viewForZoomingInScrollView...");
    return self.imgView;
}

//即将开始缩放
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    NSLog(@"即将开始缩放。。。");
}

//正在缩放
-(void)scrollViewDidZoom:(UIScrollView *)scrollView
{
    NSLog(@"正在缩放。。。");
}

//缩放完毕
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
{
    NSLog(@"缩放完毕。。。");
}

缩放倍数:

self.scrollView.maximumZoomScale = 2.5; //最大放大到2.5倍 
self.scrollView.minimumZoomScale = 0.2; //最小缩小到0.2倍
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值