我正在尝试按照以下方式设置label
的字体,但它为此提供了零CGSize
。
UIFont *abbrFont = [UIFont fontWithName:@"Helvetica Cyrillic Bold_5" size:50]; //Helvetica Cyrillic Bold_5 added Custom Font
CGSize abbrSizeOfString = [_addbrTitle sizeWithFont:abbrFont];//_addbrTitle is a NSString
NSLog(@"%f %f",abbrSizeOfString.width,abbrSizeOfString.height); //Everytime Prints (0.000,0.000)
帮我解决这个问题。
谢谢。
答案 0 :(得分:1)
试试这个,
UIFont *abbrFont = [UIFont fontWithName:@"Helvetica" size:50]; //Helvetica Cyrillic Bold_5 added Custom Font
CGSize abbrSizeOfString = [_addbrTitle.text sizeWithFont:abbrFont];//_addbrTitle is a Label
NSLog(@"%f %f",abbrSizeOfString.width,abbrSizeOfString.height); //E
答案 1 :(得分:0)
您可以使用此行设置标签的大小..
[label setFont:[UIFont fontWithName:@"Helvetica" size:20.0]];
答案 2 :(得分:0)
UILabel *_addbrTitle = [[UILabel alloc] init];
[_addbrTitle setText:@"Hello"];
UIFont *abbrFont = [UIFont fontWithName:@"Helvetica" size:50]; //Helvetica Cyrillic Bold_5 added Custom Font
[_addbrTitle setFont:abbrFont];
CGSize abbrSizeOfString = [_addbrTitle.text sizeWithFont:abbrFont];//_addbrTitle is a Label
NSLog(@"%f %f",abbrSizeOfString.width,abbrSizeOfString.height); //Everytime Prints (0.000,0.000)
您在代码中输入的字体名称在系统中不存在。所以每次打印(0,0)。输入系统中存在的字体名称,它将打印尺寸。
答案 3 :(得分:0)
将您的字体名称更改为其他内置字体名称,然后尝试 像这样
yourLabel.font=[UIFont fontWithName:@"Helvetica" size:16];
答案 4 :(得分:0)
您的字体名称不符合此IOS支持字体列表和字体名称
答案 5 :(得分:0)
NSURL *fontURL = [NSURL URLWithString:[[NSBundle mainBundle]pathForResource:@"your_font_name" ofType:@"TTF"]];
例如:
NSURL *fontURL2 = [NSURL URLWithString:[[NSBundle mainBundle]pathForResource:@"segoe_semi_bold" ofType:@"TTF"]];
NSURL *fontURL2 = [NSURL URLWithString:[[NSBundle mainBundle]pathForResource:@"segoe_semi_bold" ofType:@"TTF"]];
现在将add url添加到数组
NSArray *arrFont =[[NSArray alloc]initWithObjects:fontURL1,fontURL2, nil];
int result =CTFontManagerRegisterFontsForURLs((CFArrayRef)arrFont, kCTFontManagerScopeUser, nil);
if(result)
{
NSLog("Font Install successfully");
}
现在你可以获得字体