2013-08-22 76 views
1

我從我的xcode項目中存儲的文件中加載圖像到我的UIView背景作爲背景顏色。它可以在iPhone模擬器上正常工作,但是當我在iPhone上編譯時,圖像不存在於背景中,這顯然是由於圖像未作爲手機文件存儲的緣故。是否有一種方法可以對圖像進行硬編碼,以便將其傳輸到不同的設備,而不需要有圖像文件?圖片加載到UIView

回答

0

您是否嘗試過 在複製文件構建階段將圖像添加到包中?

這將把圖像放入你的應用程序,所以它會一直在那裏。

+0

謝謝,我會繼續嘗試。將圖像放入支持文件中,如我在界面構建器中使用的其他圖像一樣。有沒有辦法將這個指定爲不使用unix路徑的路徑? – jdeckman

1

拖動圖像(或任何其他資源)時,請務必檢查此選項:Copy items into destination group's folder。通過這種方式,你的圖像將被存儲在應用程序包中,而不是從你的電腦中的某個路徑引用。

下面是此複選框的: enter image description here

+0

是的,我做到了這一點,但它只在使用NSFileManager指定路徑時識別圖像。我在'支持文件'文件夾中的圖像爲'wood1.jpg',但加載它作爲代碼中的圖像我需要使用以下代碼: [fm changeCurrentDirectoryPath:@「/ Users/blahblahblah ... 「]; NSData * imgData = [[NSData alloc] initWithContentsOfFile:@「wood1.jpg」]; UIImage * img = [UIImage imageWithData:imgData]; UIColor * background = [[UIColor alloc] initWithPatternImage:img]; 感謝您的幫助。 – jdeckman

+0

爲什麼不使用'[UIImage imageNamed:@「wood1.jpg」];'?它會自動在我們的軟件包中添加的所有圖像中搜索具有給定名稱的圖像 –

1

發生在我身上一次爲好。請記住,如果您使用的是[UIImage imageNamed:@"imageName"];,那麼在iOS模擬器中,您不需要將字母放在正確的位置。如果你的圖像被命名爲「IMAge.png」,那麼模擬器會使用參數「image.png」找到它,但設備不會。所以確保你有正確的名字,設備區分大小寫。

0

圖像加載重要的一點:


1.確保你下方的項目文件,真正的路徑或相對路徑的形象。


2.圖片名稱區分iphone上的大寫和小寫,但不使用iphone模擬器。


3.使用Xcode中shotcuts「命令+ SHIFT + K」清除您的項目,然後再次運行,法官如果圖像高速緩存。


跑跑跑步!

+0

感謝您的幫助! – jdeckman