2014-09-06 67 views
1

我想這樣一個背景圖片設置爲一個UILabel的UILabel的背景圖像iOS8上

label.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"img.png"]]; 

但似乎沒有在Xcode 6(iOS版SDK 8)工作,因爲我沒有得到背景圖像當我運行應用程序!

有沒有辦法用UILabel做到這一點?

  • : 我不改變類型的UIImageView的原因是,我花了很長一段時間固定的限制,以適應在4個& 3.5屏幕,而且我不想再重複工作

感謝您的幫助。

+0

它應該工作。您是不是讓標籤太小而無法顯示圖像? – Malloc 2014-09-06 11:59:13

+0

@Malloc即使標籤尺寸比它應該小,它不應該顯示圖像的一部分? //你在iOS8 Xcode6上試過了嗎? – iShaalan 2014-09-06 12:07:58

+0

是的,我在Xcode6中試過,是的它應該,但只是爲了確保標籤符合圖像大小。 – Malloc 2014-09-06 12:09:30

回答

0

我只是檢查它,一切都應該在Xcode6(測試版7)和iOS8中工作。確保您使用的圖像確實存在,並且您的名稱正確寫入。也許最好使用Images.xcassets,所以你不必照顧文件名和路徑。

我的代碼:

UILabel* label = [UILabel new]; 
label.frame = self.view.bounds; 
label.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"icon"]]; 
[self.view addSubview:label]; 
0

我使用這個代碼來設置的UILabel的背景圖像。測試XCode 6 - iOS 7和iOS 8.確保圖像存在。

負載從應用程序包中的圖像:

label.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"imageName.png"]]; 

或文件目錄:

NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *docDirectory = [sysPaths objectAtIndex:0]; 
NSString *filePath = [NSString stringWithFormat:@"%@/imageName.png", docDirectory]; 
label.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:filePath]];