今天做相冊列表的時候,發現有些 UITableViewController 屬性不好記憶,然后就查找了一些資料。做一下備份。
在 UIView 中有一個autoresizingMask的屬性,它對應的是一個枚舉的值(如下),屬性的意思就是自動調整子控件與父控件中間的位置,寬高。
enum { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, UIViewAutoresizingFlexibleHeight = 1 << 4, UIViewAutoresizingFlexibleBottomMargin = 1 << 5};
UIViewAutoresizingNone就是不自動調整 , 控件相對于父視圖坐標值不變。
UIViewAutoresizingFlexibleLeftMargin 自動調整與superView左邊的距離,保證與superView右邊的距離不變。
UIViewAutoresizingFlexibleRightMargin 自動調整與superView的右邊距離,保證與superView左邊的距離不變。
UIViewAutoresizingFlexibleTopMargin 自動調整與superView頂部的距離,保證與superView底部的距離不變。
UIViewAutoresizingFlexibleBottomMargin 自動調整與superView底部的距離,也就是說,與superView頂部的距離不變。
UIViewAutoresizingFlexibleWidth 自動調整自己的寬度,保證與superView左邊和右邊的距離不變, 控件的寬度隨著父視圖的寬度按比例改變。
  例如:label寬度為100,屏幕的寬度為320。當屏幕寬度為480時,label寬度變為100*480/320
UIViewAutoresizingFlexibleHeight 自動調整自己的高度,保證與superView頂部和底部的距離不變。
UIViewAutoresizingFlexibleLeftMargin  |UIViewAutoresizingFlexibleRightMargin 自動調整與superView左邊的距離,保證與左邊的距離和右邊的距離和原來距左邊和右邊的距離的比例不變。
例如:CGRectMake(50, 100, 200, 40)]; 當屏幕的寬度為320,x為50;
當屏幕寬度為480時,labelx坐標變為 50*480/320。控件坐標變為 CGRectMake(75, 100, 200, 40)];
原來距離為20,30,調整后的距離應為68,102,即68/20=102/30。
其它的組合類似。
本文轉載自:http://m.survivalescaperooms.com/jiangyazhou/archive/2012/06/26/2563041.html
新聞熱點
疑難解答