2016-07-15 2 views
0

Я хочу сделать формат этикетка линии этой динамической формой текст этикетки слова на разном размере, как использовать основной текст рамкукак установить другой стиль шрифта на другом UILabel текстовой строки в ИО с использованием основного текста

пожалуйста показать этот тип формат по динамической форме генерировать на Dynamic arrange label textDiffent font style arrange

пожалуйста предложить на coustom библиотеку, чтобы сделать этот тип формата

+0

Использование NSAttributedString с label.attributedText вместо label.text – RJE

+0

я использовал NSAttributed строку, но не делают надлежащего формиат, как это ..so предложить другой метод option..or – Keyur

ответ

0

Я просто показать вам направление с NSAttributedString, вы должны выяснить, остальные мелкие детали, такие как правильные шрифты, размеры , стили, межстрочный интервал и т. д. (подсказка: chec к NSMutableParagraphStyle)

let attr = NSMutableAttributedString(string: "") 
    attr.appendAttributedString(NSAttributedString(string: "The\n", attributes: [NSFontAttributeName: UIFont.boldSystemFontOfSize(60), NSForegroundColorAttributeName: UIColor.greenColor()])) 
    attr.appendAttributedString(NSAttributedString(string: "HAPPINESS OF\n", attributes: [NSFontAttributeName: UIFont.systemFontOfSize(45), NSForegroundColorAttributeName: UIColor.redColor()])) 
    attr.appendAttributedString(NSAttributedString(string: "YOUR LIFE\n", attributes: [NSFontAttributeName: UIFont.italicSystemFontOfSize(40), NSForegroundColorAttributeName: UIColor.purpleColor()])) 
    attr.appendAttributedString(NSAttributedString(string: "DEPENDS UPON", attributes: [NSFontAttributeName: UIFont.boldSystemFontOfSize(15), NSForegroundColorAttributeName: UIColor.brownColor()])) 
    label.attributedText = attr 

enter image description here

+0

@RGE да, чем сделать это возможно, но я хочу сделать пространство символов в «YOUR LIFE» до верхней строки линии «HAPPINESS of» равной длины динамически, чтобы сделать обе строки равной длины .. – Keyur

0

Использование Objective-C, вам необходимо сделать 4 NSMutableAttributedString с разными названиями шрифтов и размеров, а затем добавить их с помощью «appendAttributedString» для того, чтобы получить желаемый результат. Используя этот подход, вам нужно всего лишь создать один кадр для всех строк.

См. Приведенный ниже код для справки.

//frame that contains all text 
textFrame = [[UILabel alloc] init]; 
[textFrame setTextAlignment:NSTextAlignmentCenter]; 
[textFrame setNumberOfLines:0]; 
[self.view addSubview:textFrame]; 

NSString *text1 = @"THE"; 
NSString *text2 = @"\nHAPPINESS OF"; 
NSString *text3 = @"\nYOUR LIFE"; 
NSString *text4 = @"\nDEPENDS UPON"; 

//change font name and size according to your need. 
UIFont *text1Font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:10]; 
NSMutableAttributedString *attributedString1 = 
[[NSMutableAttributedString alloc] initWithString:text1 attributes:@{ 
NSFontAttributeName : text1Font}]; 
NSMutableParagraphStyle *paragraphStyle1 = [[NSMutableParagraphStyle alloc] init]; 
[paragraphStyle1 setAlignment:NSTextAlignmentCenter]; 
[paragraphStyle1 setLineSpacing:4]; 
[attributedString1 addAttribute:NSParagraphStyleAttributeName value:paragraphStyle1 range:NSMakeRange(0, [attributedString1 length])]; 

UIFont *text2Font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:16]; 
NSMutableAttributedString *attributedString2 = 
[[NSMutableAttributedString alloc] initWithString:text2 attributes:@{NSFontAttributeName : text2Font }]; 
NSMutableParagraphStyle *paragraphStyle2 = [[NSMutableParagraphStyle alloc] init]; 
[paragraphStyle2 setLineSpacing:4]; 
[paragraphStyle2 setAlignment:NSTextAlignmentCenter]; 
[attributedString2 addAttribute:NSParagraphStyleAttributeName value:paragraphStyle2 range:NSMakeRange(0, [attributedString2 length])]; 

UIFont *text3Font = [UIFont fontWithName:@"HelveticaNeue" size:14]; 
NSMutableAttributedString *attributedString3 = 
[[NSMutableAttributedString alloc] initWithString:text3 attributes:@{NSFontAttributeName : text3Font }]; 
NSMutableParagraphStyle *paragraphStyle3 = [[NSMutableParagraphStyle alloc] init]; 
[paragraphStyle3 setAlignment:NSTextAlignmentCenter]; 
[attributedString3 addAttribute:NSParagraphStyleAttributeName value:paragraphStyle3 range:NSMakeRange(0, [attributedString3 length])]; 

UIFont *text4Font = [UIFont fontWithName:@"HelveticaNeue" size:14]; 
NSMutableAttributedString *attributedString4 = 
[[NSMutableAttributedString alloc] initWithString:text4 attributes:@{NSFontAttributeName : text4Font }]; 
NSMutableParagraphStyle *paragraphStyle4 = [[NSMutableParagraphStyle alloc] init]; 
[paragraphStyle4 setAlignment:NSTextAlignmentCenter]; 
[attributedString4 addAttribute:NSParagraphStyleAttributeName value:paragraphStyle4 range:NSMakeRange(0, [attributedString4 length])]; 

[attributedString1 appendAttributedString:attributedString2]; 
[attributedString1 appendAttributedString:attributedString3]; 
[attributedString1 appendAttributedString:attributedString4]; 

[textFrame setAttributedText:attributedString1]; 
[textFrame sizeToFit]; 
//change frame size as per your need. 
[textFrame setFrame:CGRectMake(10, 0, 136, 97)];