2015-09-09 34 views
0

在我的iOS應用程序中,我想顯示可以在設備上完全顯示的圖像的最大變化。我想在不調整圖像大小的情況下進行調整,以使圖像看起來不模糊。如何將UIImageView約束到最佳尺寸?

在我的網絡服務器上,我有3個變體的相同圖像。爲了保持簡單,我們假設它們僅寬度不同:640,750和1000.

iPhone 5將顯示640寬度圖像。 iPhone 6將顯示750寬度圖像。 iPhone 6+將顯示1000寬度的圖像。

我可以輕鬆獲得UIImageView的大小以下載正確的圖像,但是如何在UIImageView上設置自動佈局約束來將UIImageView設置爲正確的寬度?

如果我在UIImageView上設置了一個低優先級< = 1000寬度約束,那麼無論設備的大小如何,圖像的寬度都是1000。即使當我將UIImageView設置爲具有較低的內容壓縮阻力優先級時,情況也是如此。

我使用的XCode,目標C和IOS 8

如果我要對此錯了,請告訴我。

謝謝!

回答

2

簡單的解決辦法是製作UIImageView的寬度約束,然後爲此創建一個出口。

現在在代碼中,通過根據設備計算來設置constraint.constant值。

+0

因此,基於設備的寬度,我選擇圖像,然後以編程方式設置圖像的寬度約束?涼。這是正常的方式嗎? –

+0

在純autoLayout中,它會非常令人頭疼...可能是xcode 7中的新設計特性將會有所幫助。順便說一句,在代碼中設置約束沒有問題。 –