在iOS开发中,经常会用到UIScrollView、UICollectionView、UITableView等在滑动的时候,内容视图小于它们的bounds,无法滚动
@property(nonatomic) BOOL bounces; // default YES. if YES, bounces past edge of content and back again
@property(nonatomic) BOOL alwaysBounceVertical; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically
@property(nonatomic) BOOL alwaysBounceHorizontal; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally
用来控制滚动视图是否反弹,bounces默认是YES,当它为NO的时候,其他两个属性设置无效,滚动视图无法反弹;只有当bounces是YES的时候,其他两个属性才有效,alwaysBounceVertical设置垂直方向的反弹是否有效,alwaysBounceHorizontal设置水平方向的反弹是否有效。
UITableView默认情况下alwaysBounceVertical是YES,alwaysBounceHorizontal是NO。
UIScrollView、UICollectionView默认情况下alwaysBounceVertical、alwaysBounceHorizontal都是NO;只有当内容的尺寸超过了自己的bounds的尺寸的时候,相应方向的反弹尺寸才会自动设置为YES。
在开发中,实现滚动视图的下拉和上拉刷新功能的时候,就要设置alwaysBounceVertical为YES,才能实现视图的下拉和上拉刷新功能,比如UITableView页面只有一条数据的时候,内容视图没用占据到UITableView的整个bounds,当前就无法滚动,这个时候就要设置alwaysBounceVertical为YES,才能在垂直方向实现反弹进而实现上下拉刷新功能。