UIScrollView基本使用(一)

今天这种日子还在写代码的,一定是真爱。好吧我承认闲的无聊。下面讲一讲UIScrollView的基本使用。
使用场景:一般当手机屏幕不能完全显示需要展示的内容的时候,就会考虑使用UIScrollView了。
                  可以通过拖拽将屏幕外的内容显示出来。

1.使用前要知道几个属性的含义:
(1)CGSize  contentSize:这个属性代表可以滚动的区域大小。
(2)UIEdgeInsets  contentInset:这个属性可以设置scrollView距离屏幕上左下右的距离。
(3)BOOL  bounces: 设为YES可以有回弹效果
  (4)   BOOL  < showsVerticalScrollIndicator:显示垂直滚动条
                      <showsHorizontalScrollIndicator:显示水平滚动条

2.UIScrollViewDelegate的几个代理方法也要知道以下
   (1)-(void)scrollViewDidScroll:(UIScrollView *)scrollView; //scrollview正在滚动时会触发
   (2)-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;//scrollView将要开始拖拽时会触发
   (3)-(void)scrollViewDidEndDragging:(UIScrollView *)scrolView  willDecelerate:(BOOL)decelerate;//scrollview结束拖拽的时候会触发
   (4)-(void)scrollViewWillBeginDecelerating:(UIscrollView *)scrollView;//scrollView将要开始减速滚动的时候会触发

3.下面我们一起来看一个简单的实例体会一下:
#import "ViewController.h"

@interface ViewController ()<UIScrollViewDelegate>
@property(nonatomic,strong)UIScrollView *scrolView;
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIImageView *imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"111"]];
    self.scrolView=[[UIScrollView alloc]initWithFrame:self.view.bounds];
    
    //1.设置UIScrollView的contentSize属性,代表可以滚动的区域大小
    self.scrolView.contentSize=imageView.bounds.size;
    //self.scrolView.contentSize=CGSizeMake(self.view.frame.size.width, imageView.frame.size.height);
    //2. 设置UIEdgeInsets(距离上左下右的距离)
    self.scrolView.contentInset=UIEdgeInsetsMake(20, 10, 10, 10);
    //3.设置indicator的insets
    self.scrolView.scrollIndicatorInsets=UIEdgeInsetsMake(0, 0, 0, 10);
    //4.设置不能回弹效果
    self.scrolView.bounces=NO;
    //
    [self.scrolView setBounces:NO];
    //3.在UIScrollView中添加子View
    [self.scrolView addSubview:imageView];
    
    
    [self.view addSubview:self.scrolView];
    self.scrolView.delegate=self;
}

#pragma mark -UIScrollViewDelegate
//scrollView正在滚动
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    NSLog(@"scrollViewDidScroll");
}
//scrollView将要开始拖拽
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    NSLog(@"scrollViewWillBeginDragging");
}
//scrollview结束拖拽
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
    NSLog(@"scrollViewDidEndDragging");
}
//scrollView将要开始减速滚动
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
    NSLog(@"scrollViewWillBeginDecelerating");
}
-(BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView
{
    return YES;
}
@end

程序运行后,稍微拖动一下后打印效果是:

很明显,代理触发的先后顺序是:将要拖拽-》开始滚动-》因为就拖拽了一下,所以滚动一小会后就会触发结束拖拽代理-》一旦结束拖拽,scrollView的滚动就会变慢,触发将要开始减速滚动代理-》虽然减速滚动,但是还是在滚动,所以还是会触发scrollDidScroll代理。(PS:也可以试试看拖拽的时候不松开的效果)

4.拖拽后的效果图如下:


注意一地啊,就是垂直滚动条是被设置了距离右边10间距的。对于一些属性的实际效果大家可以自行试试看。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值