在iOS開(kāi)發(fā)中残家,經(jīng)常會(huì)用到UIScrollView放可、UICollectionView铺罢、UITableView等在滑動(dòng)的時(shí)候,內(nèi)容視圖小于它們的bounds会烙,無(wú)法滾動(dòng)
@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
用來(lái)控制滾動(dòng)視圖是否反彈负懦,bounces默認(rèn)是YES,當(dāng)它為NO的時(shí)候柏腻,其他兩個(gè)屬性設(shè)置無(wú)效纸厉,滾動(dòng)視圖無(wú)法反彈;只有當(dāng)bounces是YES的時(shí)候五嫂,其他兩個(gè)屬性才有效颗品,alwaysBounceVertical設(shè)置垂直方向的反彈是否有效肯尺,alwaysBounceHorizontal設(shè)置水平方向的反彈是否有效。
UITableView默認(rèn)情況下alwaysBounceVertical是YES躯枢,alwaysBounceHorizontal是NO则吟。
UIScrollView、UICollectionView默認(rèn)情況下alwaysBounceVertical锄蹂、alwaysBounceHorizontal都是NO氓仲;只有當(dāng)內(nèi)容的尺寸超過(guò)了自己的bounds的尺寸的時(shí)候,相應(yīng)方向的反彈尺寸才會(huì)自動(dòng)設(shè)置為YES得糜。
在開(kāi)發(fā)中敬扛,實(shí)現(xiàn)滾動(dòng)視圖的下拉和上拉刷新功能的時(shí)候,就要設(shè)置alwaysBounceVertical為YES掀亩,才能實(shí)現(xiàn)視圖的下拉和上拉刷新功能舔哪,比如UITableView頁(yè)面只有一條數(shù)據(jù)的時(shí)候欢顷,內(nèi)容視圖沒(méi)用占據(jù)到UITableView的整個(gè)bounds槽棍,當(dāng)前就無(wú)法滾動(dòng),這個(gè)時(shí)候就要設(shè)置alwaysBounceVertical為YES抬驴,才能在垂直方向?qū)崿F(xiàn)反彈進(jìn)而實(shí)現(xiàn)上下拉刷新功能炼七。