我很新的自動佈局。我有一個簡單的UIViewController,它包含一個View和一個UIImageView。自動佈局更新圖像大小時旋轉
在縱向模式下,此圖像爲320x115px,但我想在旋轉到橫向時降低圖像高度。
目前我對圖像有以下限制。 - 高度的Equals 115px -Trailing空間,以上海華 -Leading空間,以上海華 機頂空間,以supverview
如何使從縱向旋轉爲橫向,當我UIView有比例垂直尺寸?
感謝您的幫助,
Sébastien。
我很新的自動佈局。我有一個簡單的UIViewController,它包含一個View和一個UIImageView。自動佈局更新圖像大小時旋轉
在縱向模式下,此圖像爲320x115px,但我想在旋轉到橫向時降低圖像高度。
目前我對圖像有以下限制。 - 高度的Equals 115px -Trailing空間,以上海華 -Leading空間,以上海華 機頂空間,以supverview
如何使從縱向旋轉爲橫向,當我UIView有比例垂直尺寸?
感謝您的幫助,
Sébastien。
如果你想得到與115相同的比例尺寸爲480(0.24),那麼你使用constraintWithItem中的乘數參數:attribute:relatedBy:toItem:attribute:multiplier:constant :.
在下面的例子中,我創建了IB(heightCon)中的高度約束的IBOutlet,然後在代碼中刪除它,並添加另一個基於self.view高度(iv是我的出口圖像視圖):
- (void)viewDidLoad {
[super viewDidLoad];
[self.iv removeConstraint:self.heightCon];
NSLayoutConstraint *newHeightCon = [NSLayoutConstraint constraintWithItem:self.iv attribute:NSLayoutAttributeHeight relatedBy:0 toItem:self.view attribute:NSLayoutAttributeHeight multiplier:.24 constant:0];
[self.view addConstraint:newHeightCon];
}
謝謝!有沒有辦法直接從IB做到這一點?我認爲當視圖從縱向旋轉到橫向時需要替換約束,然後在視圖從橫向旋轉到縱向時再次替換約束?對? – sebastien
@ user951368,不,從IB無法做到這一點 - 遺憾的是,我們無法訪問IB中的乘數參數。我不確定你的第二句話是什麼意思 - 除了我發佈的內容外,你不需要做任何事情。 – rdelmar
也許我錯過了一些東西。最初我的視圖以縱向模式顯示,UIImage大小爲320x115px。然後用戶將iPhone旋轉到橫向,圖像的高度必須縮放,我想我需要在旋轉開始時替換約束。接下來,當用戶將旋轉回肖像時,我將不得不取代限制來恢復原始高度(115px)。這樣對嗎? – sebastien
UIImageView中的圖像有多大? –
UIImageView是320x115px – sebastien