iOS view的自適應

2021-06-22 12:53:47 字數 1799 閱讀 4890

自動尺寸調整行為

當您改變檢視的邊框矩形時,其內嵌子檢視的位置和尺寸往往也需要改變,以適應原始檢視的新尺寸。如果檢視的autoresizessubviews屬性宣告被設定為yes,則其子檢視會根據autoresizingmask屬性的值自動進行尺寸調整。簡單配置一下檢視的自動尺寸調整掩碼常常就能使應用程式得到合適的行為;否則,應用程式就必須通過過載layoutsubviews方法來提供自己的實現。

設定檢視的自動尺寸調整行為的方法是通過位or操作符將期望的自動尺寸調整常量鏈結起來,並將結果賦值給檢視的autoresizingmask屬性。表2-1列舉了自動尺寸調整常量,並描述這些常量如何影響給定檢視的尺寸和位置。舉例來說,如果要使乙個檢視和其父檢視左下角的相對位置保持不變,可以加入uiviewautoresizingflexiblerightmargin 和uiviewautoresizingflexibletopmargin常量,並將結果賦值給autoresizingmask屬性。當同乙個軸向有 多個部分被設定為可變時,尺寸調整的裕量會被平均分配到各個部分上。

uiviewautoresizingnone

這個常量如果被設定,檢視將不進行自動尺寸調整。

uiviewautoresizingflexibleheight

這個常量如果被設定,檢視的高度將和父檢視的高度一起成比例變化。否則,檢視的高度將保持不變。

uiviewautoresizingflexiblewidth

這個常量如果被設定,檢視的寬度將和父檢視的寬度一起成比例變化。否則,檢視的寬度將保持不變。

uiviewautoresizingflexibleleftmargin

這個常量如果被設定,檢視的左邊界將隨著父檢視寬度的變化而按比例進行調整。否則,檢視和其父檢視的左邊界的相對位置將保持不變。

uiviewautoresizingflexiblerightmargin

這個常量如果被設定,檢視的右邊界將隨著父檢視寬度的變化而按比例進行調整。否則,檢視和其父檢視的右邊界的相對位置將保持不變。

uiviewautoresizingflexiblebottommargin

這個常量如果被設定,檢視的底邊界將隨著父檢視高度的變化而按比例進行調整。否則,檢視和其父檢視的底邊界的相對位置將保持不變。

uiviewautoresizingflexibletopmargin

這個常量如果被設定,檢視的上邊界將隨著父檢視高度的變化而按比例進行調整。否則,檢視和其父檢視的上邊界的相對位置將保持不變。

如 果您通過inte***ce builder配置檢視,則可以用size檢視器的autosizing控制來設定每個檢視的自動尺寸調整行為。上圖中的靈活寬度及高度常量和 inte***ce builder中位於同樣位置的彈簧具有同樣的行為,但是空白常量的行為則是正好相反。換句話說,如果要將靈活右空白的自動尺寸調整行為應用到 inte***ce builder的某個檢視,必須使相應方向空間的autosizing控制為空,而不是放置乙個支柱。幸運的是,inte***ce builder通過動畫顯示了您的修改對檢視自動尺寸調整行為的影響。

如果檢視的autoresizessubviews屬性被設定為 no,則該檢視的直接子檢視的所有自動尺寸調整行為將被忽略。類似地,如果乙個子檢視的自動尺寸調整掩碼被設定為 uiviewautoresizingnone,則該子檢視的尺寸將不會被調整,因而其直接子檢視的尺寸也不會被調整。

請注意:為了使自動尺寸調整的行為正確,檢視的transform屬性必須設定為恒等變換;其它變換下的尺寸自動調整行為是未定義的。

自動尺寸調整行為可以適合一些布局的要求,但是如果您希望更多地控制檢視的布局,可以在適當的檢視類中過載layoutsubviews方法。

網格自適應 Fluent網格自適應

1,前言 國慶剛過,馬上就要上班,上課了,祝福大家事業學業都有新的進步,新的前途。2,內容簡介 我們在平時做流體分析時,經常會遇到乙個問題,當畫好的網格匯入fluent計算時,看了分析結果,想讓某一部分我們關注的點更加細化一些,我們不得不重新去網格軟體裡調整網格。今天介紹的fluent自帶的網格自適...

網格自適應 網格自適應04 各向異性自適應

本文描述各向異性網格自適應方法應用。由於各向異性自適應 anisotropic adaption 僅適用於特定的網格型別,因此存在以下限制 利用按鈕 setting up domain adapt more anisotropic refinement.開啟anisotropic adaption設...

Iframe自適應高度和拖拽自適應

思路 1.在iframe所在的主頁面取iframe內部的高度 2.在iframe內部當初始化完之後取得自己高度並改變父iframe高度 法一 需要在iframe的平級,當頁面初始化的時候呼叫 the iframe height self adaption param the iframe id fu...