我希望UILabel的第一个字母与其他字体大小不同,字体大小会更大.需要一些指导如何做到这一点.这个标签有很多单词. 这是我尝试过的: NSArray * words = [Label.text componentsSeparatedByCharactersI
这是我尝试过的:
NSArray * words = [Label.text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; NSString *firstLetter = [[words objectAtIndex:0] substringToIndex:1];
但是因为增加NSString的大小而陷入困境.有没有更好的办法?欢迎提出建议和指导..谢谢..
编辑:
[Label setFont:[UIFont fontWithName:@"Arial" size:12.f]]; NSArray * words = [Label.text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; UIFont *fontFirst=[UIFont fontWithName:@"Arial" size:15.f]; NSDictionary *attrsDictFirst=[NSDictionary dictionaryWithObject:font forKey:NSFontAttributeName]; NSAttributedString *finalString=[[NSAttributedString alloc] initWithString:[[words objectAtIndex:0] substringToIndex:1] attributes:attrsDictFirst];例如,要获得:
说这个:
NSString* s2 = @"Fourscore and seven years ago, our fathers brought forth " @"upon this continent a new nation, conceived in liberty and dedicated " @"to the proposition that all men are created equal."; NSMutableAttributedString* content2 = [[NSMutableAttributedString alloc] initWithString:s2 attributes: @{ NSFontAttributeName: [UIFont fontWithName:@"HoeflerText-Black" size:16] }]; [content2 setAttributes: @{ NSFontAttributeName:[UIFont fontWithName:@"HoeflerText-Black" size:24] } range:NSMakeRange(0,1)]; [content2 addAttributes: @{ NSKernAttributeName:@-4 } range:NSMakeRange(0,1)]; NSMutableParagraphStyle* para2 = [NSMutableParagraphStyle new]; para2.headIndent = 10; para2.firstLineHeadIndent = 10; para2.tailIndent = -10; para2.lineBreakMode = NSLineBreakByWordWrapping; para2.alignment = NSTextAlignmentJustified; para2.lineHeightMultiple = 1.2; para2.hyphenationFactor = 1.0; [content2 addAttribute:NSParagraphStyleAttributeName value:para2 range:NSMakeRange(0,1)];
然后将content2分配给标签的attributedText.