2016-04-04 77 views
1

我遇到了應用程序設計部分的麻煩,我希望有人能幫助我。這裏是我的問題的描述:設置圖像作爲所有屏幕分辨率的背景

我想把一個圖像在我的應用程序的所有視圖的背景調整所有屏幕分辨率。我的設計師給了我不同大小的背景圖片(適用於所有設備,iPhone和iPad)。我沒有使用大小類,因爲它是一箇舊的項目。我有兩個故事板:一個用於iPad設備,另一個用於iPhone設備。我創建了一個UIImageView,把它放在我的故事板視圖,並添加了良好的約束(棒各方)

我嘗試了兩種方法來實現我的目標:

  1. 使用切割法,但問題是我在我的 圖片上有一些徽標,難以分割。
  2. 使用,Aspect fit,Scale to fill等故事板中的圖像的Mode等。這種方法的問題在於,背景對於一個設備來說似乎很好,但對於所有其他設備而言卻是失真的。

我在網上搜索了一些東西,但沒有成功。有人已經有這個問題,並找到了解決方案?

非常感謝!

+0

爲什麼不能根據代碼中的大小指定每個圖像? –

+0

謝謝你的迴應Sujith!我想過這個解決方案,但我沒有嘗試。其實,我想知道是否有可能處理故事板中的圖像。你不覺得這是嗎? – Vinestro

+0

您是否嘗試過使用[資產目錄](https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/AddingImages.html)? – Fonix

回答

0

所有你需要做的是在viewDidLoad中確定屏幕尺寸,並設置不同的圖像;如果你的屏幕正在旋轉,你可能想要做同樣的事情。

+0

感謝您的回覆gnasher729!沒有辦法以故事板的方式做到這一點? – Vinestro

0

我認爲你需要使用的UIViewMode財產,

如果Aspect fill那麼你的形象將被設置和裁剪按大小,而且取決於使用的Aspect fill你需要使用clipToBoundYES爲好,

如果您使用Aspect fit,則圖像將顯示爲其長寬比。

但背景Aspect fill將是最好的clipToBoundYES

+0

感謝您的回覆!我試圖將我的'UIImageView'模式設置爲'Aspect fill'並將'clipToBound'設置爲'YES'。根據我的資產目錄中的圖像大小,它正在處理某些設備分辨率,但是當我切換另一個分辨率時,圖像不能覆蓋整個屏幕,我會在兩側獲得空白區域。 – Vinestro

+0

然後你需要設置圖像的最大尺寸。 –

+0

我做過了,我使用的圖像大小是1242x2208,在資產目錄的圖像集中的2x框中設置。我還試圖把1x的640x960,2x的750x1334和3x的1242x2208。 – Vinestro

0

如果你想爲每個viewcontroller設置相同的背景圖像,你可以在你的appdelegate中試試這個,並將你的viewcontroller的背景顏色設置爲clearColor,就是這樣。我在我的一個應用程序中做了同樣的事情。隨意問更多的建議...

+1

感謝您的回覆!我試過你的解決方案,但我得到了與iPhone 4(圖像裁剪)相同的問題。不過謝謝! – Vinestro

+0

多數民衆贊成在我知道的問題,但你可以做一些技巧與... .... –

+0

Autolayout不工作在iPhone4,但它是從iPhone4s工作。所以你可以檢查你的iPhone是否是iPhone4。如果是iPhone4,則將債券屬性設置爲您的UIImageView。它會工作。 – chaaruu