2013-09-27 2 views
1
-(NSMutableAttributedString *) masBlueBoldColorString:(NSString *) theString 
{ 



    UIFont * italicSystemFont = [UIFont fontWithName:@"HelveticaNeue-Bold" size:sizeOfFonthighLightSomeStuff]; 


    CTFontRef font = CTFontCreateWithName((__bridge CFStringRef)italicSystemFont.fontName, italicSystemFont.pointSize, NULL); 
    NSRange rangeHighlight = NSMakeRange(0, theString.length); 

    NSMutableAttributedString * mutableAttributedString = [[ NSMutableAttributedString alloc]initWithString:theString]; 

    if (font) { 
     [mutableAttributedString addAttribute:(NSString *)kCTFontAttributeName value:(__bridge id)font range:rangeHighlight]; 
     CFRelease(font); 
    } 

    return mutableAttributedString; 
} 

Есть некоторые проблемы с этим кодом ....Как сделать этот код более элегантным?

Я хочу «шрифт» должен быть возвращен методом. У нас есть CFAutoRelease? Если нам вообще не нужно использовать шрифт, это будет еще лучше

+1

Почему вы используете CTFontRef, а не UIFont? –

+0

Вы имеете в виду, что я могу использовать UIFont? Как? –

+0

'[UIFont fontWithName: @" HelveticaNeue-Bold "size: sizeOfFonthighLightSomeStuff]' Вам тогда не нужен актерский состав. –

ответ

4
- (UIFont*)myFontMethod 
{ 
    return [UIFont fontWithName:@"HelveticaNeue-Bold" size:sizeOfFonthighLightSomeStuff]; 
} 

-(NSMutableAttributedString *) masBlueBoldColorString:(NSString *) theString 
{ 
    UIFont * font = [self myFontMethod]; 

    NSMutableAttributedString * mutableAttributedString = [[NSMutableAttributedString alloc] initWithString:theString]; 

    if (font) { 
     [mutableAttributedString addAttribute:NSFontNameAttribute value:font]; 
    } 

    return mutableAttributedString; 
} 
Смежные вопросы