2013-07-02 3 views
4

Я работаю над продуктовым приложением, в котором он показывает название продукта с ценовым соглашением или декретом.Можно ли вставить изображение между NSString?

На данный момент, согласно моему требованию, я вставляю UIImage в качестве подпрограммы UILabel. Но каждый раз мне нужно рассчитать длину имени продукта, на котором я определяю x положение UIImage и добавляю его снова и снова. имя имеет переменный размер.

Совсем не всегда иногда положение изображения не может быть установлено должным образом, поэтому оно перекрывает текст на UILabel.I застрял в этой проблеме.

Ниже приведены мои усилия, направленные на такое требование. Может быть, должен быть другой способ делать такие вещи, но я не знаю. Любая другая альтернатива, которую я могу применить?

int level=3; 
NSString *[email protected]"Pea Price:"; 

UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 20, 25)]; 
[imgView setImage:[UIImage imageNamed:@"up.png"]]; 

CGRect rect=[imgView frame]; 

UILabel *label=[[UILabel alloc] initWithFrame:CGRectMake(20, 70, 200, 30)]; 
label.backgroundColor=[UIColor whiteColor]; 

CGSize size=[product sizeWithFont:label.font constrainedToSize:CGSizeMake(MAXFLOAT, 30) lineBreakMode:NSLineBreakByTruncatingTail]; 
rect.origin.x=size.width-5; 
[imgView setFrame:rect]; 

label.text=[NSString stringWithFormat:@"%@ (%i%%)",product,level]; 
[label addSubview:imgView]; 
[self.view addSubview:label]; 
+0

вы можете разместить скриншот вашего требования ... –

ответ

5

Вы можете использовать подобное

label.text=[NSString stringWithFormat:@"%@ ⬆\uFE0E (%i%%)",product,level]; 
label.text=[NSString stringWithFormat:@"%@ ⬇\uFE0E (%i%%)",product,level]; 

просто скопировать и вставить эту стрелку изображение для NSString.

Изменить foreColor метки изменит цвет стрелки.

получить другие изображения, чтобы вставить здесь

Стрелки - http://www.alanwood.net/unicode/miscellaneous_symbols_and_arrows.html

Круглые цифры - http://www.alanwood.net/unicode/enclosed_alphanumerics.html

Изображения - http://www.alanwood.net/unicode/miscellaneous_symbols.html

Улыбки - http://www.alanwood.net/unicode/emoticons.html

Miscallaneous - http://www.alanwood.net/unicode/miscellaneous-symbols-and-pictographs.html

+0

FYI, есть [Зритель символ встроен прямо в MacOS] (HTTP: //support.apple.com/kb/PH6597), это более чем удобно, с _all_ символами Юникода. – Cyrille

+0

Я проверю @Cyrille thnks – Warewolf

+0

Спасибо ... Это сэкономило огромное время на моем .. –

-1

Самый простой способ для достижения этой цели является использование UIWebView и вставить изображение в качестве HTML-тега. Но с точки зрения производительности, это не здорово.

+0

Я использую его в tableViewCell –

1

Вы можете использовать символы Юникода для стрелок (⬈ и ⬊) с помощью NSAttributedStrings для цветов или даже Emojis: ↗ и ↘ (просмотрите эту страницу в Симуляторе, чтобы увидеть их).

Смежные вопросы