UIScrollView屬性總結

最近在項目開發(fā)中發(fā)現(xiàn)自己對于UIScrollView的有些屬性不是很熟悉佑菩,所以在此借助“大醉和尚”的微博更新一下自己的知識抛人。

在iOS開發(fā)中可以說UIScollView是所有滑動類視圖的基礎,包括UITableView,UIWebView,UICollectionView等等邪锌,UIScrollView類為顯示大于應用程序窗口的內(nèi)容提供支持楣铁。它使得用戶可以使用滑動手勢來滾動,并可以使用擴張/收縮手勢來放大縮小部分內(nèi)容缀旁。UIScrollView類可以擁有一個代理记劈,該代理采用UIScrollViewDelegate協(xié)議。對于縮放的工作并巍,代理必須實現(xiàn)viewForZoomingInScrollView:以及scrollViewDidEndZooming:withView:atScale:目木;此外,最大(maximumZoomScale)和最小(minimumZoomScale)縮放規(guī)模必須不同懊渡。

其中有很多常用到的屬性設置和方法刽射,在這里統(tǒng)一做下記錄。

屬性

automaticallyAdjustsScrollViewInsets

設置UITextView或者UITableView時剃执,文字上方或table上總會留一片空白區(qū)域誓禁,原因在于navigation bar!I龅怠摹恰!

凡是繼承UIScrollView的控件都會受到UIViewController的這個automaticallyAdjustsScrollViewInsets屬性的影響,默認為YES怒见,當有navigation bar的時候,UITextView的表現(xiàn)就是上面空白俗慈,設為NO,UITextView就正常了。

如果用了storyboard,那么也可以在storyboard里面做更改

alwaysBounceHorizontal

布爾值遣耍,規(guī)定是否在水平方向在滾動到末尾時產(chǎn)生“反彈”闺阱。

若該屬性及bounces被設定為YES,水平拖拽即使在內(nèi)容小于滾動視圖邊緣時也被允許配阵。默認值為NO馏颂。

alwaysBounceVertical

布爾值,規(guī)定是否在垂直方向在滾動到末尾時產(chǎn)生“反彈”棋傍。

若該屬性及bounces被設定為YES救拉,垂直拖拽即使在內(nèi)容小于滾動視圖邊緣時也被允許。默認值為NO瘫拣。

bounces

布爾值亿絮,控制是否滾動視圖能否超出內(nèi)容邊緣再彈回。

若該屬性的值為YES。滾動視圖會在遇到內(nèi)容邊緣時反彈派昧。若值為NO黔姜,滾動會在達到邊緣時立即停止而不反彈。默認值為YES蒂萎。

bouncesZoom

布爾值秆吵,規(guī)定滾動視圖是否在縮放超出最大值和最小值動畫時播放內(nèi)容縮放動畫。

若該屬性的值為YES五慈,在縮放超出最大值或最小值時纳寂,滾動視圖會臨時播放一個稍超出限制范圍的動畫再返回限制大小。若該屬性為NO泻拦,縮放會在達到限制大小時立即停止毙芜,默認為YES。

canCancelContentTouches

布爾值争拐,控制觸摸內(nèi)容視圖時是否總是導致跟蹤腋粥。

若該屬性的值為YES,內(nèi)容中的視圖會開始跟蹤觸摸的手指架曹,若用戶拖拽手指到足以滾動的距離隘冲,視圖會收到touchesCancelled:withEvent:信息,而滾動視圖會作為一個滾動事件處理這次觸摸音瓷。若該屬性的值為NO对嚼,滾動視圖在內(nèi)容視圖開始跟蹤時將無視手指移動,不進行滾動绳慎。

contentInset

表示內(nèi)容視圖從封閉滾動視圖中被嵌入的距離纵竖。

用該屬性增加圍繞內(nèi)容的滾動區(qū)域。單位為點杏愤。默認值為UIEdgeInsetssZero靡砌。

contentOffset

表示從滾動視圖的原點到內(nèi)容視圖的原點的偏移的點。

默認值為CGPointZero珊楼。

contentSize

內(nèi)容視圖的大小通殃。

單位是點。默認值是CGSizeZero厕宗。

decelerating

返回滾動視圖中的內(nèi)容是否在提起手指后繼續(xù)移動画舌。(只讀)

若用戶已不再拖拽內(nèi)容但滾動還在發(fā)生時返回YES。

decelerationRate

浮點數(shù)已慢,規(guī)定用戶提起手指后的滾動減速速率曲聂。

你的應用程序可以使用UIScrollViewDecelerationRateNormal和UIScrollViewDecelerationRateFast常量作為引用點以獲得一個合理的減速速率。

delaysContentTouches

布爾值佑惠,規(guī)定滾動視圖是否延遲處理觸摸下壓手勢朋腋。

若該屬性值為YES齐疙,滾動視圖會延遲處理下壓手勢直到可以確定該操作的意圖是否是滾動。若值為NO旭咽,滾動視圖會立即調(diào)用touchesShoudBegin:withEvent:inContentView:贞奋。默認值為YES。

具體討論詳見類討論穷绵。

delegate

滾動視圖對象的托管轿塔。

托管必須實現(xiàn)UIScrollViewDelegate協(xié)議。UIScrollView類(不保持托管)请垛,會調(diào)用托管實現(xiàn)中的每一個方法催训。

directionalLockEnabled

布爾值,規(guī)定是否滾動在某一方向上被禁止宗收。

若該屬性為NO,滾動在水平和垂直方向上都被允許亚兄。若該屬性為YES混稽,當用戶開始某一方向的滾動(水平或垂直),滾動視圖會禁止另一方向的滾動审胚。若以對角線方向拖動匈勋,滾動則不會被鎖定且用戶在本次拖動完成之前可以在任意方向拖動。默認值為NO膳叨。

dragging

布爾值洽洁,表明用戶是否開始滾動內(nèi)容。

該屬性持有的值可能需要滾動一段時間或距離才會被設定成YES菲嘴。

indicatorStyle

滾動控制器的風格饿自。

默認風格是UIScrollViewIndicatorStyleDefault。參見“Scroll Indicator Style”獲取更多關于此常量的描述龄坪。

maximumZoomScale

浮點數(shù)昭雌,指定可被應用滾動視圖內(nèi)容的最大縮放因子。

該值規(guī)定了內(nèi)容可被放大到多大健田。默認值為1.0烛卧。

minimumZoomScale

浮點數(shù),指定可被應用滾動視圖內(nèi)容的最小縮放因子妓局。

該值規(guī)定了內(nèi)容可被縮小到多小总放。默認值為1.0。

pagingEnabled

布爾值好爬,規(guī)定滾動視圖是否可以翻頁局雄。

若該值為YES,滾動視圖會在用戶滾動時停止在滾動視圖邊框的整數(shù)倍處抵拘。默認值為NO哎榴。

panGestureRecognizer

當前用于滑動手勢的手勢識別器(只讀)

在希望更加精確地控制被滾動視圖識別的滑動手勢時型豁,你的應用程序可訪問此屬性。

pinchGestureRecognizer

當前用于擴張/收縮手勢的手勢識別器(只讀)

在希望更加精確地控制被滾動視圖識別的擴張/收縮手勢時尚蝌,你的應用程序可訪問此屬性迎变。

scrollEnabled

布爾值,規(guī)定是否允許滾動飘言。

若該屬性的值為YES衣形,允許滾動,若為NO姿鸿,禁止?jié)L動谆吴。默認值為YES。

當滾動被禁止時苛预,滾動視圖將不再接受觸摸事件句狼;滾動視圖會將事件傳送至響應鏈中。

scrollIndicatorInsets

表示滾動指示器從封閉滾動視圖中被嵌入的距離热某。

默認值為UIEdgeInsetssZero腻菇。

scrollToTop

布爾值,控制滾動至頂部的手指是否有效昔馋。

滾動至頂部手勢是觸摸狀態(tài)欄筹吐;當此屬性為YES時,滾動視圖在此手勢發(fā)生時跳轉至狀態(tài)欄秘遏。此屬性默認為YES丘薛。

該手勢作用于單個可見的滾動視圖;若有多個滾動視圖(例如邦危,日期選擇器)設定了這個屬性洋侨,或者若托管在scrollViewShouldScrollToTop:中返回了NO,UIScrollView會無視滾動到頂部的請求铡俐。在滾動視圖滾動到內(nèi)容視圖的頂部之后凰兑,它會給托管發(fā)送一個scrollViewDidScrollToTop:信息。

showsHorizontalScrollIndicator

布爾值审丘,控制是否水平滾動指示器可見吏够。

默認值為YES。指示器會在跟蹤時顯示并在跟蹤之后消失滩报。

showsVerticalScrollIndicator

布爾值锅知,控制是否垂直滾動指示器可見。

默認值為YES脓钾。指示器會在跟蹤時顯示并在跟蹤之后消失售睹。

tracking

返回用戶是否觸摸內(nèi)容并初始化滾動隘竭。(只讀)

若用戶已觸摸內(nèi)容視圖但可以還示開始拖動時該屬性值為YES晕拆。

zoomBouncing

布爾值耀鸦,表明縮放已超過了指定接收器的縮放限制稀拐。

若滾動視圖縮放超出最大值或最小值時該值為YES;否則值為NO飞崖。

zooming

布爾值烂叔,表明內(nèi)容視圖當前是否在縮。

若用戶發(fā)出了一個縮放手指固歪,該值為YES蒜鸡,否則為NO。

zoomScale

浮點數(shù)牢裳,指定當前應用于滾動視圖的內(nèi)容的縮放因子逢防。

該值規(guī)定了內(nèi)容當前縮放了多少。默認值是1.0蒲讯。

方法

flashScrollIndicators

短暫地顯示滾動指示器忘朝。

你應該在把滾動視圖放在最前端時調(diào)用此方法。

scrollRectToVisible:animated:

滾動內(nèi)容的指定區(qū)域以便使內(nèi)容在接受器中可見判帮。

-(void)scrollRectToVisible:(CGRect)rectanimated:(BOOL)animated

參數(shù):

rect

定義內(nèi)容視圖區(qū)域的矩形辜伟。

animated

若滾動應被動畫化則傳入YES,否則為NO脊另。

該方法滾動內(nèi)容視圖以使rect中定義的區(qū)域可以剛好顯示在滾動視圖中。若區(qū)域已經(jīng)是可見的约巷,該方法什么也不做偎痛。

setContentOffset:animated:

設定內(nèi)容視圖原點相對于接收器原點的偏移。

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

參數(shù)

contentOffset

內(nèi)容視圖原點的偏移點(以點的形式表示)独郎。

animated

若YES踩麦,用一個恒定的速度以動畫形式移動到新的偏移處;NO則立即移動氓癌。

setZoomScale:animated:

浮點數(shù)谓谦,指定當前縮放因子。

- (void)setZoomScale:(float)scale animated:(BOOL)animated

參數(shù)

scale

要縮放內(nèi)容到的新值贪婉。

animated

若YES反粥,動畫化縮放到時新的縮放大小,NO則立即縮放疲迂。

新的縮放值應在minnumZoomScale和maximumZoomScale之間才顿。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市尤蒿,隨后出現(xiàn)的幾起案子郑气,更是在濱河造成了極大的恐慌,老刑警劉巖腰池,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件尾组,死亡現(xiàn)場離奇詭異忙芒,居然都是意外死亡,警方通過查閱死者的電腦和手機讳侨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門呵萨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人爷耀,你說我怎么就攤上這事甘桑。” “怎么了歹叮?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵跑杭,是天一觀的道長。 經(jīng)常有香客問我咆耿,道長德谅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任萨螺,我火速辦了婚禮窄做,結果婚禮上,老公的妹妹穿的比我還像新娘慰技。我一直安慰自己椭盏,他們只是感情好,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布吻商。 她就那樣靜靜地躺著掏颊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪艾帐。 梳的紋絲不亂的頭發(fā)上乌叶,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天,我揣著相機與錄音柒爸,去河邊找鬼准浴。 笑死,一個胖子當著我的面吹牛捎稚,可吹牛的內(nèi)容都是我干的乐横。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼阳藻,長吁一口氣:“原來是場噩夢啊……” “哼晰奖!你這毒婦竟也來了?” 一聲冷哼從身側響起腥泥,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤匾南,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蛔外,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蛆楞,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡溯乒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了豹爹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片裆悄。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖臂聋,靈堂內(nèi)的尸體忽然破棺而出光稼,到底是詐尸還是另有隱情,我是刑警寧澤孩等,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布艾君,位于F島的核電站,受9級特大地震影響肄方,放射性物質(zhì)發(fā)生泄漏冰垄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一权她、第九天 我趴在偏房一處隱蔽的房頂上張望虹茶。 院中可真熱鬧,春花似錦隅要、人聲如沸蝴罪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽洲炊。三九已至,卻和暖如春尼啡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背询微。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工崖瞭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人撑毛。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓书聚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親藻雌。 傳聞我的和親對象是個殘疾皇子雌续,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容