日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

subview自适应superview的frame autosizingMask(转)

發布時間:2025/4/16 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 subview自适应superview的frame autosizingMask(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
from??http://hi.baidu.com/iphone_debug/blog/item/955c4cc2767c5a2b970a16b2.html

自動尺寸調整行為

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

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

??

UIViewAutoresizingNone

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

UIViewAutoresizingFlexibleHeight

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

UIViewAutoresizingFlexibleWidth

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

UIViewAutoresizingFlexibleLeftMargin

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

UIViewAutoresizingFlexibleRightMargin

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

UIViewAutoresizingFlexibleBottomMargin

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

UIViewAutoresizingFlexibleTopMargin

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

?

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

如果視圖的autoresizesSubviews屬性被設置為 NO,則該視圖的直接子視圖的所有自動尺寸調整行為將被忽略。類似地,如果一個子視圖的自動尺寸調整掩碼被設置為 UIViewAutoresizingNone,則該子視圖的尺寸將不會被調整,因而其直接子視圖的尺寸也不會被調整。

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

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

轉載于:https://www.cnblogs.com/lzjsky/archive/2013/03/18/2966316.html

總結

以上是生活随笔為你收集整理的subview自适应superview的frame autosizingMask(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。