NSScrollView官方文檔

  • 改變contentInset值會有一個不可預(yù)料的副作用解取,尤其是當(dāng)你顯示滾動條的時候。當(dāng)用戶拖拽內(nèi)容到頂部或者底部蜈膨,滾動條會越過任何被定義在contentInset的區(qū)域之內(nèi)的范偉董朝,例如navigation controller和toolbar。

    • 想要修正這個問題饼暑,你必須設(shè)置scrollIndicatorInsets屬性。設(shè)置vertical inset值限制了垂直滾動條,避免了越區(qū)域顯示滾動條的問題弓叛。
      滾動到特定的Offset:滾動到特定的top-left位置可以通過兩種方式完成:
    • setContentOffset:animated:方法彰居,滾動內(nèi)容到特定的content offset。
      也可以通過滾動到一個固定的可見的矩形區(qū)域來完成撰筷。這個在一個app需要顯示一個contorl陈惰,恰好這個control在實現(xiàn)之外的時候格外有用。
    • scrollRectToVisible:animated:方法滾動到特殊的矩形區(qū)域闭专,以確保區(qū)域在可視范圍之內(nèi)。
  • 如何在scrollView內(nèi)容不夠的時候也可以進(jìn)行拉伸:通過設(shè)置彈跳屬性旧烧。Bouncing只有在bounces屬性為YES時(默認(rèn)值)才可以使用影钉。如果bounces為NO,則alwasyBounceVertical和alwaysBounceHorizontal屬性不可用掘剪。如果bounces為YES平委,即便contentSize比scrollView bounds小也可以彈跳。

  • 為了支持zooming夺谁,你必須設(shè)置scrollView的delegate廉赔,且要實現(xiàn)UIScrollViewDelegate協(xié)議。大多數(shù)情況匾鸥,這個delegate是scrollView的controller的class蜡塌。那個delegate class必須實現(xiàn)viewForZoomingInScrollView方法并且返回要zoom的view。

  • 為了控制用戶可以zoom的范圍勿负,你需要setminimumZoomScale值和maximumZoomScale值馏艾,他們初始都被設(shè)置為1.0.

  • 如何確保內(nèi)容在zoom時是銳利的:如果zoom的內(nèi)容是實時的,并且需要在zoom時是銳利的奴愉,那么你的app的類需要用Core Animation來繪制琅摩。Class需要改變Core Animation的class,就像UIView的class layer對于CATtiledLayer并且用CA的drawLayer:inContext:方法來繪制锭硼。

  • 請注意房资,這種繪畫方法有一個重要的限制,UIKit繪制方法不是線程安全的檀头,并且drawLayer:inRect:會在后臺線程回調(diào)轰异,因此你必須使用CoreGraphics繪制函數(shù)替代UIKit 繪制函數(shù)。
    想使用Paging Mode暑始,你需要設(shè)置pagingMode屬性為YES溉浙。

  • 配置Paging Scroll View的子view:有兩個方法:

    • 如果content很小,你應(yīng)當(dāng)一次性draw全部內(nèi)容蒋荚,在一個單獨的view上就是scroll view的contentSize戳稽。這個很容易實現(xiàn),但是當(dāng)處理很大的content 區(qū)域時效率很低,或者page content需要時間去繪制惊奇;
    • 當(dāng)你的app需要顯示很多pages或者繪制page內(nèi)容會很耗時互躬,你的app應(yīng)當(dāng)使用多頁面去繪制content,每一個頁面屬于一個page颂郎。PageContrl就是使用這種方法來實現(xiàn)的吼渡。可以采用三個view實例乓序,一個顯示當(dāng)前page寺酪,一個顯示之前的page,一個顯示之后的page替劈。這些views在滾動過程中被復(fù)用寄雀。
  • 如何來判斷page需要重新繪制,scrollView需要一個delegate實現(xiàn)scrollViewDidScroll方法陨献。這個實現(xiàn)應(yīng)當(dāng)去記錄contentOffset盒犹,并且當(dāng)它傳中點值(寬度的中點值),view應(yīng)當(dāng)進(jìn)行重新渲染眨业,將馬上要消失的view移動到要渲染下一張page或者上一張page的地方去急膀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市龄捡,隨后出現(xiàn)的幾起案子卓嫂,更是在濱河造成了極大的恐慌,老刑警劉巖聘殖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件命黔,死亡現(xiàn)場離奇詭異,居然都是意外死亡就斤,警方通過查閱死者的電腦和手機(jī)悍募,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洋机,“玉大人坠宴,你說我怎么就攤上這事”疗欤” “怎么了喜鼓?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長衔肢。 經(jīng)常有香客問我庄岖,道長,這世上最難降的妖魔是什么角骤? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任隅忿,我火速辦了婚禮心剥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘背桐。我一直安慰自己优烧,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布链峭。 她就那樣靜靜地躺著畦娄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弊仪。 梳的紋絲不亂的頭發(fā)上熙卡,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機(jī)與錄音励饵,去河邊找鬼驳癌。 笑死,一個胖子當(dāng)著我的面吹牛曲横,可吹牛的內(nèi)容都是我干的喂柒。 我是一名探鬼主播不瓶,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼禾嫉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蚊丐?” 一聲冷哼從身側(cè)響起熙参,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎麦备,沒想到半個月后孽椰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡凛篙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年黍匾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呛梆。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡锐涯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出填物,到底是詐尸還是另有隱情纹腌,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布滞磺,位于F島的核電站升薯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏击困。R本人自食惡果不足惜涎劈,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧责语,春花似錦炮障、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至白筹,卻和暖如春智末,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背徒河。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工系馆, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人顽照。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓由蘑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親代兵。 傳聞我的和親對象是個殘疾皇子尼酿,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件植影、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,024評論 4 62
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,506評論 25 707
  • (銷售三術(shù)之“異”) 如何設(shè)置障礙裳擎?如何渾水摸魚?這就是銷售之術(shù)的第二術(shù)思币,曰“異”鹿响。 異,就是“差異化”谷饿。通過對比...
    曉才筆記閱讀 432評論 0 0
  • 第一種:終端生成 一惶我、準(zhǔn)備: 1.在終端中輸入:open /usr/bin/codesign 看是否codesig...
    飛魚_T閱讀 4,016評論 0 2
  • 感賞自己聽了師姐的話今天中午回家沒有因為孩子玩游戲看電視久而發(fā)火。所以我也是可以控制情緒的人博投。 感賞兒子雖然一周學(xué)...
    吳若閱讀 271評論 0 4