<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                > 原文:http://www.swiftyper.com/Swift/scrollviewpart1.html # ScrollView 學習筆記 - Part1 `ScrollView`在iOS當中可謂是無處不在,從鎖屏畫面的滑動解鎖到手機的APP列表界面都用到了`ScrollView`,同時它還是兩相重量級控件`TableView`以及`CollectionView`的父類。 所以它可以說是相當有分量的一個控件,有必要進行一下系統的學習。 然而在學習`ScrollView`之前,必須要對一個`View`的`Frame`和`Bounds`有清晰的認識,因為這兩個屬性是理解`ScrollView`的基礎。 ## Frame `Frame`指的是一個view以**父視圖**的坐標系統為參考系的位置和大小。 ![](https://box.kancloud.cn/2015-11-19_564d445f8b9ea.png) 所以圖中綠色view的`Frame`的位置是`(60, 80)`,長和寬都為200. ## Bounds `Bounds`指的是一個view以**自身**的坐標系統為參考系的位置和大小。 事實上,因為`Bounds`始終以自身的坐標系為參考,所以它的位置永遠都是`(0, 0)`, 聽起來很奇怪,既然它永遠是0,我們還要`Bounds`做什么,一個`Frame`不就夠了么。表面上,`Bounds`是確實是多余的沒錯,但是當我們開始改變一個view的`Frame`與`Bounds`的位置的時候,我們就可以聽到其中的差別了。 ## 改變Frame ![](https://box.kancloud.cn/2015-11-19_564d446533a46.png) 圖中,白色view的`Frame`位置是`(0, 0)`,當我們將它設置為`(60, 80)`的時候,整個view會向右下方移動,這個是比較直觀的。 ## 改變Bounds ![](https://box.kancloud.cn/2015-11-19_564d4465e02bc.png) 但是,當我們改變view的`Bounds`的時候,它看起來好像是將`Frame`的位置設置為負數一樣,因為它看起來整個view都向左上方跑了,但是事實不是這樣的,它整個view的位置都沒有改變,而是view里面的內容,不再是從`(0, 0)`的位置開始顯示,變成了從`(60, 80)`的位置開始顯示,所以左上的部分沒有顯示在屏幕里面。 這跟`ScrollView`的原理是類似的,當我們“滾動”的時候,我們只是改變了屏幕里顯示的內容而已。 ## 總結 `Frame`和`Bounds`是比較容易造成混淆,區別它們的不同點,對于理解`ScrollView`的原理有很大的幫助。在感到困惑的時候,可以畫下草圖來幫忙理解。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看