在Xcode中在UILabel上写印地语

我编写了一个代码,我需要在UILabel上显示印地文数字。 我使用梵文字体来显示该值,但它不起作用。 它只是改变了外观而不是语言。

我用的是:

UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; myLabel.font = font; 

但它不起作用。 有人可以帮我这个吗?

您的字体名称有误。 字体名称是DevanagariSangamMN而不是DevanagarSangamMN (注意你名字中缺少的’i’)。 因此,您的代码应为:

 UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; myLabel.font = font; 

查找有关iOS字体的更多信息。 我推荐这个网站,其中包含iOS中提供的所有字体

此外,如果您在标签中键入英文字符,您将收到英文版而非印地文翻译。 它不会为您翻译。 使用DevanagariSangamMN只允许您显示印地语字符,因为通常使用的Helvetica等字体不包含印地语字形。 例如:

 UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; myLabel.font = font; myLabel.text = @"Testing"; 

这将以英语返回’Testing’,而不是印地语。 但是如果你这样做:

 UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; myLabel.font = font; myLabel.text = @"परीक्षण"; 

然后你会得到’परीक्षण’这是’测试’的印地语(我使用谷歌翻译所以它可能是错的)。 因此,要使用印地语版本(4)获得数字’4’,您需要执行以下操作:

 UIFont *font = [UIFont fontWithName:@"DevanagariSangamMN" size:16]; myLabel.font = font; myLabel.text = @"४"; 

你在unicode中分配你的UILabel文本? 尝试这个 –

 myLabel.text = [NSString stringWithFormat:@"String with unicode %C", 0x207F];