學習 iOS Autolayout的一點經驗

2021-06-28 05:50:46 字數 736 閱讀 4397

以下是最近在學習autolayout的過程中學到的一些東西,全出於自己的理解,不對的地方望大家指出。

對於普通的檢視uiview來說,想要正確完成檢視的布局,就得建立足夠的約束,普通檢視無法計算自身的寬高,所以在建立約束時,要麼新增關於檢視寬高的約束,要麼新增足夠的其他約束,保證這些檢視可以計算出自身的寬高。

對於這些檢視來說,因為可以計算出自身的寬高了,所以沒有特殊需求的話,布局檢視時新增除寬高的約束就可以了。

在autolayout中,uisrollview是比較複雜的,因為uiscrollview的實際可滾動檢視大小是由它的contentsize決定的,所以單獨乙個scrollview是沒法實現布局的,它必須依賴於自身的子檢視來設定自己的contentsize。

針對這個實際的問題,暫時想到以下兩種方法:

實質就是建立約束時用乙個變數繫結乙個屬性的約束,然後通過改變變數的值來更新約束即可。

當乙個檢視從父檢視上移除時,對於這個子檢視來說,它所用的約束將會被移除掉,這時候你再重新新增子檢視到父檢視,並重新新增約束即可。

iOS Autolayout自動布局

在ios程式中,大部分檢視控制器都包含了大量的 用於設定ui布局,設定控制項的水平或垂直位置,以確保元件在不同版本的ios中都能得到合理的布局 甚至有些程式設計師希望在不同的裝置使用相同的檢視控制器,這就給 新增了更多的複雜性!自動布局autolayout的引入很好地解決了這一問題!autolayo...

ios AutoLayout基礎知識 彙總

三大部分 二 storyboard 三 code to autolayout 一 autolayout簡介 autolayout 是乙個描述各種約束的行為,比如,乙個view 距離父view上邊距多少,相鄰之間的間隔,各個view之間的寬高關係等等 二 storyboard 第一部分 1.什麼是約束...

iOS Auto Layout介面自動布局(1)

ios系統中的自動布局 auto layout 一 檢視定位的基本原理 在平面直角座標系中,要準確描述乙個矩形需要確定以下四個布局屬性 layout attribute 即水平位置x 垂直位置y 寬度w 高度h。只有上述4個布局屬性都確定的情況下,該檢視才能正確顯示在介面中。以上圖為例,如果要將數字...