xib 創(chuàng)建 scrollview(詳解)

一伏恐、前引

? ? ? ?在我們開發(fā)的過程中咙咽,經(jīng)常要用到詳情頁(yè)。詳情內(nèi)容過多媒峡,或者是因?yàn)槠聊贿m配的緣故(在7p 上的固定頁(yè)面展示在phone5 phone5s 上)瘟栖,會(huì)導(dǎo)致頁(yè)面顯示不全,就使得我們需要合理的定制一個(gè) scrollview 去展示谅阿。

? ? ? 縱觀現(xiàn)在市場(chǎng)上的 xib 定制 scrollview 上的解答內(nèi)容半哟,能用的很少酬滤。而且對(duì)于剛?cè)腴T的新手來說很難理解。在此 我總結(jié)一番寓涨,希望能給大家?guī)韼椭?/p>


二盯串、詳解

? ? ?綜合來說xib 拖 scrollview 的難點(diǎn)在于——scrollview 上添加子控件。再側(cè)重點(diǎn)說的話 戒良,就是scrollView 上的 contentSize 的設(shè)置体捏,我總結(jié)的原則主要有兩點(diǎn):

? ? ?1、確定 scrollview 的視圖顯示范圍


在這里我們要確定 scrollview 在父視圖中的顯示范圍糯崎,為了能對(duì)比顯示几缭,我沒有讓其占據(jù)全屏顯示。這個(gè)步驟沃呢,并沒有什么難點(diǎn)年栓,刷新布局后展示效果如下

2、添加子視圖樟插,并確定子視圖的大小韵洋,以及到 scrollview 的四邊距(為什么是四邊距?)

? 這個(gè)是我們添加子視圖的關(guān)鍵黄锤,設(shè)置子視圖的大小搪缨,主要也是為了最后我們的 contentSize 服務(wù)的。我們平常設(shè)置一個(gè)視圖的約束鸵熟,設(shè)置寬高就以及左邊距 上邊距就可以確定一個(gè)視圖的位置副编,編譯器就不會(huì)報(bào)錯(cuò)

這是我們正常視圖中添加子視圖,需要做出的約束條件流强。但是我們按照這個(gè)方法在 scrollview 中設(shè)置會(huì)怎么樣呢 痹届?

這個(gè)方法在設(shè)置 scrollview 中就報(bào)錯(cuò)

原因說我們沒有足夠的約束來判斷 scrollview 的 contentSize,這是問題的關(guān)鍵,假如我們按照現(xiàn)在約束條件來計(jì)算 contenSize 的橫向大小 我們可以用 左邊距+子視圖寬度?打月,可這樣的話队腐,你沒有設(shè)置這個(gè)視圖右邊的范圍,也就是無(wú)法計(jì)算出視圖的總?cè)菁{范圍奏篙。所以我們不能再按正常視圖的設(shè)置約束的方法去設(shè)置 scollView柴淘。因?yàn)槲覀僺collview 有一個(gè)特殊的因素 contentSize,正確的設(shè)置方法如下

四邊距的設(shè)置是為了配合子視圖的大小 來確定 scrollview 的 contenSize秘通。 編譯器會(huì)根據(jù)

(1)scrollview 的約束 設(shè)置scrollview視圖的位置大小?

?(2)會(huì)根據(jù)子視圖的四邊距为严,來確定子視圖在 scrcollview 的位置

(3)會(huì)根據(jù)四邊距 和子視圖大小 來確定 contentSize。

這樣你的編譯就不會(huì)出現(xiàn)問題肺稀。


三第股、總結(jié)


? ? ? ? 仔細(xì)理解,就會(huì)發(fā)現(xiàn)我們?cè)O(shè)置 scrollview 還是非常簡(jiǎn)單的话原,我們除了常規(guī)的設(shè)置約束的同時(shí)夕吻,再計(jì)算一下當(dāng)前的約束能否確定當(dāng)前 scrollview 的 contentSize诲锹,能否 唯一確定當(dāng)前 scrollview的內(nèi)容顯示范圍(和在父視圖的展示范圍不一樣),如果可以 梭冠,那么你的設(shè)置就沒有問題辕狰。

? ? ?希望我的總結(jié)能幫到大家,也希望有發(fā)現(xiàn)錯(cuò)誤的同行控漠,及時(shí)指出問題蔓倍,大家互相交流,互相切磋盐捷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末偶翅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碉渡,更是在濱河造成了極大的恐慌聚谁,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滞诺,死亡現(xiàn)場(chǎng)離奇詭異形导,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)习霹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門朵耕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人淋叶,你說我怎么就攤上這事阎曹。” “怎么了煞檩?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵处嫌,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我斟湃,道長(zhǎng)熏迹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任凝赛,我火速辦了婚禮癣缅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘哄酝。我一直安慰自己,他們只是感情好祷膳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布陶衅。 她就那樣靜靜地躺著,像睡著了一般直晨。 火紅的嫁衣襯著肌膚如雪搀军。 梳的紋絲不亂的頭發(fā)上膨俐,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音罩句,去河邊找鬼焚刺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛门烂,可吹牛的內(nèi)容都是我干的乳愉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼屯远,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蔓姚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起慨丐,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤坡脐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后房揭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體备闲,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年捅暴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了恬砂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡伶唯,死狀恐怖觉既,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乳幸,我是刑警寧澤瞪讼,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站粹断,受9級(jí)特大地震影響符欠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓶埋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一希柿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧养筒,春花似錦曾撤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至巫湘,卻和暖如春装悲,著一層夾襖步出監(jiān)牢的瞬間昏鹃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工诀诊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留洞渤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓属瓣,卻偏偏與公主長(zhǎng)得像载迄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奠涌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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