2
我有可能有一個非常簡單的解決一個奇怪的問題,我看不出它......子視圖自動調整大小:調整大小似乎發生,而不是絕對的比例
我有一個包含一個按鈕的UIView類作爲子視圖,跨越寬度的四分之三和視圖高度的三分之一。當父視圖大小(例如,具有高度和寬度的一半),按鈕應該保持它在哪裏(父視圖的前三分之一),現在也有一半的寬度和新高度仍三分之一。
這意味着:
Parent before: Frame (0,0,100,100)
Button before: Frame (0,0,80,33.3)
Parent after: Frame (0,0,50,50)
Button after: Frame (0,0,40,16.7)
問題是,按鈕後,總是有幀(0,0,30,0)。好像我剛剛通過減去50個像素的變化而獲得的按鈕的新寬度和高度,而不是按比例調整大小。一定是非常愚蠢的東西,但我無法找到它。
這裏是我的UIView類的代碼:
-(id)init
{
self = [super init];
if(self)
{
self.autoresizesSubviews = true;
self.frame = CGRectMake(0,0,100,100);
button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0,0,80, self.frame.size.height/3);
button.autoresizingMask = UIViewAutoresizingFlexibleHeight
|UIViewAutoresizingFlexibleWidth;
[self addSubview:button];
}
return self;
}
任何人的想法?我已經嘗試過的autoresizeMask標誌頗有些變化,但無濟於事 - 與上面的標誌也應該是正確的......
我只是覺得自己現在IB亂搞和代碼比較設置後,...這是兩者之間居然不一致 - 在IB這是不夠的,積極設置兩個內部紅線,並留下外線灰色,但在autoresizingMask本身必須添加所有的標誌 - 什麼,我想即使做Left和Top保證金的...但由於反正:-) – TheEye 2012-02-17 14:31:56
它實際上是相當一致的:箱內彈簧等同於'UIViewAutoresizingFlexibleHeight '和'UIViewAutoresizingFlexibleWidth',以及激活所述頂部結構是等同於轉動'UIViewAutoresizingFlexibleTopMargin' ** **斷開(等其他三個邊距)。 – yuji 2012-02-17 14:35:45
一致,如果你知道它:-) – TheEye 2012-02-17 14:51:46