UI-UIScrollView

简介

手机屏幕较小,当内容较多时要有滚动以便查看更多内容。比如‘微博’首页的上下滚动

基本使用

  • UIScrollView控件有一个外部Frame大小和位置

  • 只有当设置了控件内部的内容大于外部Frame的时候才有滚动

  • 控件内部的内容不能直接在属性面板中设置

  • 要新建一个控件的属性,就是连线到代码中实现

  • 在 DidLoad 中写代码 self.属性名称.contenSize = CGSizeMake(实际内容大小)

  • 如果想禁止某个方向的滚动,那么久可以直接设置width或height的==0
    self.属性名称.contenSize = CGSizeMake(0, 100)

常见属性

  • @property(nonatomic) CGPoint contentOffset;

  • 内容与scrollView偏移了多少,内容左上角 与 scrollView左上角的差值

  • @property(nonotomic) CGSize contentSize;

  • 实际滚动范围大小

  • @property(nonatomic) CGEdgeInsets contentInset;

UIImageView *imageView = [UIImageView alloc] initWithImage:[UIImage imageNamed:@"minion"];
[self.scrollView addSubview:imageView];
这句==创建了一个imageView图片、同时告诉了图片名称和图片大小。就是图片的本身大小

UIScrollView的代理(delegate)

  • 监听滚动过程,当滚动到哪里 时而做的一些事情
  • 代理 就是用来 监听的
  • 监听要遵守 协议

常用属性
用户开始拖拽时,调用scrollViewWillBeginDragging:方法

具体滚动到某个位置时,调用scrollViewDidScroll:方法
用户停止拖拽时,
调用scrollViewDidEndDragging:willDecelerate:方法

分页

只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示

一般会配合UIPageControl增强分页效果,UIPageControl常用属性如下

一共有多少页
@property(nonatomic) NSInteger numberOfPages;
当前显示的页码
@property(nonatomic) NSInteger currentPage;
只有一页时,是否需要隐藏页码指示器
@property(nonatomic) BOOL hidesForSinglePage;
其他页码指示器的颜色
@property(nonatomic,retain) UIColor *pageIndicatorTintColor;
当前页码指示器的颜色
@property(nonatomic,retain) UIColor *currentPageIndicatorTintColor;

你可能感兴趣的:(UI-UIScrollView)