2010-08-04 2 views
4

я хочу, чтобы отобразить номер на изображении как знак размером 30 * 28, который расположен на изображения кнопкикак установить фоновое изображение для обозначения

у меня есть значок изображения, чтобы установить на вершине образ кнопки. поверх изображения значка i я должен был отображать текст или номер, а размер моего значка - 30 * 28 ...

так, для этого я хочу установить ярлык поверх моей кнопки изображение, и поэтому я хочу установить ярлык на какое-то изображение под названием значок значка

ответ

10

Вы не можете добавить фоновое изображение в UILabel, но вы можете добавить UIImageView в качестве подзаголовка UILabel. Убедитесь, что UILabel имеет backgroundColor = [UIColor clearColor]; для прозрачности.

E.g.

UIImageView *labelBackground = [[UIImageView alloc] 
    initWithImage:[UIImage imageNamed:@"mybg.png"]]; 
[myLabel addSubview:labelBackground]; 
[labelBackground release]; 
myLabel.backgroundColor = [UIColor clearColor]; 

Должно работать. Непроверенные.

+0

но текст надписи не виден. Только изображение появляется. – prajul

+1

Неверный ответ, фоновые изображения можно добавить в uilabels! не рекомендуется добавлять UIImage в качестве подсмотра, чтобы дать «фоновый» эффект. –

+0

Не стесняйтесь использовать формулировку «устаревший ответ», поскольку ответ был верным 2 года назад, когда он был опубликован. ;) Тем не менее, если люди хотят обратной совместимости со старыми iOS: они могут найти этот ответ полезным. – Kalle

10

нашел в самом переполнение стека, как приведенный выше код просто дает фон без этикетки

было полезно для меня так обмена

theLabel.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blah"]]; 

См: Adding Background image to UILabel

1

Чтобы сделать image fit in yourUIview, попробуйте этот код

UIImage *backgroundImage = [UIImage imageNamed:@"imageNameHere"]; 

UIGraphicsBeginImageContext(self.labelName.frame.size); 
[backgroundImage drawInRect:CGRectMake(0, 0, self.labelName.frame.size.width, self.labelName.frame.size.height)]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

self.labelName.backgroundColor = [UIColor colorWithPatternImage:newImage]; 
Смежные вопросы