我的应用程序中有以下代码。
tmp=[[UILabel alloc] initWithFrame:label1Frame];
tmp.tag=1;
tmp.textColor=[UIColor blackColor];
[tmp setFont:[UIFont fontWithName:@"American Typewriter" size:18]];
tmp.backgroundColor=[UIColor clearColor];
[cell.contentView addSubview:tmp];
[tmp release];
现在,我需要知道,
==>如何通过代码设置“Typeface = bold”?
答案 0 :(得分:36)
您需要在系列中使用bold
字体的名称。要查明是否有bold
版本的美国打字机,请尝试输出
[UIFont fontNamesForFamilyName:@"AmericanTypewriter"]
到控制台。
在这种情况下,您应该使用"AmericanTypewriter-Bold"
。
[UIFont fontNamesForFamilyName:@"AmericanTypewriter-Bold"]
答案 1 :(得分:20)
使用setter属性怎么样:
// Create a string
NSString *text = @"You are getting sleepy.";
// Get a font to draw it in
UIFont *font = [UIFont boldSystemFontOfSize:28];
// Draw the string
[text drawInRect:(CGRect)
withFont:font];
答案 2 :(得分:17)
只需NSLog您想要的字体:
NSLog(@" %@", [UIFont fontNamesForFamilyName:@"American Typewriter"]);
你得到阵列:
(
"AmericanTypewriter-CondensedLight",
"AmericanTypewriter-Light",
"AmericanTypewriter-Bold",
AmericanTypewriter,
"AmericanTypewriter-CondensedBold",
"AmericanTypewriter-Condensed"
)
在代码中使用您需要的任何内容:
UILabel * loading = [[UILabel alloc] initWithFrame:CGRectMake(350, 402, 150, 25)];
[loading setFont:[UIFont fontWithName:@"AmericanTypewriter-Bold" size:12.0]];
[loading setTextColor:[UIColor whiteColor]];
[loading setBackgroundColor:[UIColor clearColor]];
[loading setText:@"Loading ..."];
[self.view addSubview:loading];
答案 3 :(得分:2)
您可以在此网站iOSfonts中获取所有iOS支持的字体名称。 预览您的确切字符串以找到最佳字体并使用它,如上面的答案所述
UILabel * myLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 400, 150, 50)];
[loading setFont:[UIFont fontWithName:@"Avenir-Black" size:12.0]];
[loading setTextColor:[UIColor redColor]];
[loading setBackgroundColor:[UIColor clearColor]];
[loading setText:@"My Label Title"];
[self.view myLabel];
答案 4 :(得分:1)
与@devinfoley一样,您必须将-Bold
添加到您正在使用的fontName
。对我而言,它不适用于fontNamesForFamilyName
,而是使用fontWithName:size
。如果以编程方式创建UILabel
,它可能会有效。在我的情况下,我只是在font
的{{1}}扩展名中设置UILabel
,并在awakeFromNib
中将此扩展名设置为class
Identity Inspector
。使用UILabel
,您可以在self.font.pointSize
内设置fontSize
,如果您有更多的UI元素,可以更好地处理它。
Interface Builder
如果您的- (void)awakeFromNib{
[super awakeFromNib];
[self setAdjustsFontSizeToFitWidth:YES];
[self setFont:[UIFont fontWithName:@"Font-Bold" size:self.font.pointSize]];
}
不起作用,则应打印所有font
家庭成员,以便查看是否写了fonts
错误。这样你也可以检查是否有fontName
字体可用,如果没有打印你没有这个选项。
bold
更多NSLog (@"Available Fonts: %@", [UIFont fontNamesForFamilyName:@"Your Font"]);
内容:https://stackoverflow.com/a/8529661/1141395
答案 5 :(得分:0)
快速更新
如果您已将字体添加到应用中(如here所述),您可以使用Swift的extension
功能,例如UILabel
和Roboto字体:< / p>
extension UILabel {
func setFont(style: String, size: Int){
self.font = UIFont(name: style, size: CGFloat(size))
}
struct FontStyle {
public static let italic: String = "Roboto-LightItalic"
public static let normal: String = "Roboto-Light"
public static let thin: String = "Roboto-Thin"
}
}
Roboto-LightItalic
和Roboto-Light
是TTF的字体文件名。然后,您只需致电
someUILabel.setFont(style: UILabel.FontStyle.normal, size: 20)