2015-10-15 54 views
0

我有一個UIImageView,只有約束綁定到它的邊界和對象的上下。我沒有設置固定的高度或寬度約束,並且它在視覺上似乎可以在不同的尺寸等級中正確調整自身尺寸。但是,當我試圖控制視圖的尺寸時,它會像當前運行的尺寸類一樣記錄視圖的尺寸,它總是顯示相同的確切數字:它在XCode項目中顯示的高度和寬度。我使用這段代碼,無論是在4S還是6S +上運行應用程序,它都會記錄相同的數字。如何獲取圖像視圖的當前高度,因爲它在應用程序運行的設備的大小類中顯示?如何獲取UIImageView的尺寸,因爲它在任何給定尺寸的iOS設備類中動態顯示?

CGRect imageContent = self.tShirtImageView.bounds; 
CGFloat imageWidth = imageContent.size.width; 
CGFloat imageHeight = imageContent.size.height; 
NSLog(@"size of uiimageview: %f, %f", imageWidth, imageHeight); 
+0

您是否嘗試過'imageContent.bounds.size.height'? – WMios

+0

這取決於你把代碼放在哪裏。 viewDidLoad中? LayoutSubviews? viewWillAppear中?你在哪裏檢查這些尺寸?這可能是他們都回來的原因。 –

+0

我把它放在ViewDidLoad中。我應該把它放在哪裏? – user4868275

回答

0

約束沒有佈局尚未如果妳viewDidLoad要求的寬度和高度,無論是把它放在viewDidLayoutSubview(多稱呼)或viewDidAppear