iOS学习总结----UIScrollView的常用属性及方法

本文深入探讨UIScrollView的原理及应用,包括其关键属性、滚动限制及解决方法,并通过实例展示如何实现页面间的滚动和缩放功能。

 UIScrollView用于显示多于一个屏幕的内容或者超过你能放在内存中的内容。

其中需要注意的子类是UITableView, UICollectionView 以及UITextView(用来显示大量的文字)。还有一个UIWebView,尽管那不是UIScrollView的直接子类,它适用UIScrollView去显示网页内容.



如果UIScrollView⽆法滚动,可能是以下原因: 

       ➢ 没有设置contentSize

(contentsize是内容的宽和高,contentsize.width是内容的宽度,contentsize.heght是高度,contentsizeUIScrollView的一个属性,它是一个CGSize,是由核心图形所定义的架构,定义了可以滚动内容的宽度和高度,也可以添加可以上下滚动的额外区域。)

  • scrollEnabled = NO

  • 没有接收到触摸事件:userInteractionEnabled = NO
    没有取消autolayout功能(要想scrollView滚动,必须取消autolayout) page1image5416

UIScrollView的常见属性

@property(nonatomic)CGPointcontentOffset; 

这个属性⽤用来表⽰示UIScrollView滚动的具体位置(偏移量),可以自己获取和设置

@property(nonatomic)CGSizecontentSize;
这个属性⽤用来表⽰示UIScrollView内容的尺⼨寸,滚动范围(能滚多远)


@property(nonatomic)UIEdgeInsetscontentInset; 这个属性能够在UIScrollView4周增加额外的滚动区域

UIScrollView的其他属性


@property(nonatomic) BOOL bounces; 
设置UIScrollView是否需要弹簧效果

@property(nonatomic,getter=isScrollEnabled)BOOLscrollEnabled;
设置UIScrollView是否能滚动

@property(nonatomic) BOOL bounces;
设置UIScrollView是否需要弹簧效果

@property(nonatomic,getter=isScrollEnabled)BOOLscrollEnabled; 
设置UIScrollView是否能滚动

@property(nonatomic) BOOL showsHorizontalScrollIndicator;
是否显⽰⽔平滚动条

@property(nonatomic) BOOL showsVerticalScrollIndicator;
是否显示垂直滚动条


当⽤户在UIScrollView⾝上使用捏合⼿势时,UIScrollView会调⽤代理的 viewForZoomingInScrollView:⽅法,这个⽅法返回的控件就是需要进行缩放的子控件

缩放实现步骤

  1. 设置UIScrollViewid<UISCrollViewDelegate> delegate代理对象

  2. 设置minimumZoomScale :缩小的最小比例

  3. 设置maximumZoomScale :放大的最大比例

4. 让代理对象实现下⾯的方法,返回需要缩放的视图控件


- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;

 跟缩放相关的其他代理方法
  缩放完毕的时候调⽤
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView
withView:(UIView *)view

正在缩放的时候调⽤
- (void)scrollViewDidZoom:(UIScrollView *)scrollView


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值