簡體   English   中英

以編程方式更改UIImageView框架大小

[英]changing UIImageView frame size programmatically

我有一個UImageView ,其初始尺寸從xib設置為:

Y:0,高度:406。

viewDidLoad ,根據條件,我正在使用以下代碼:

self.mainAdImg.frame = CGRectMake(self.mainAdImg.frame.origin.x, self.mainAdImg.frame.origin.y + OFFSET, self.mainAdImg.frame.size.width, self.mainAdImg.frame.size.height);

其中mainAdImg is the UIImageView, and OFFSET is 20.0f

因此,我希望圖像下降20.0

相反,新值變為:

Y : 20 (correct), height: 426 (not expected)

為什么高度會變化?

編輯:

我沒有使用自動版式。

我記錄原點,高度是這樣的:

NSLog(@" Y : %f, height : %f",self.mainAdImg.frame.origin.y,self.mainAdImg.frame.size.height);

您可以在viewDidLayoutSubviews執行此操作

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];

    // Do your resizing
}

viewDidLoad ,視圖只是被加載,這太早了,太依賴幀值了。 該視圖沒有超級視圖,並且自動調整大小蒙版和自動布局規則可以更改幀值。

如果仍然要在viewDidLoad執行此操作,則需要使用固定的幀值(例如CGRectMake(10,10,600,400) )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM