我正在开发一个“申请表填写”应用程序,并使用 xml 创建表单。
在 xml 中,如果我找到像下面这样的标签,我会将 UIlabels 添加为 subView
<label x="" y="" width="" height="" text="First Name" textcolor="" font="Arial" Bold="NO" Italic="NO" .../>
<label x="" y="" width="" height="" text="Last Name" textcolor="" font="TimesNewRoman" Bold="NO" Italic="NO" .../>
它看起来像
我对 UIButtons、滑块、UItextFields 等使用相同的方法(注意:-尽可能多的 UI 对象是动态创建的,就像我遇到的标签一样多)
我的问题是对它们应用字体,例如在第一个标签中我收到字体名称 Arial 所以如果我使用方法创建字体
NSString *fontName;
//......getting font name from attribute 'font'.....
[UIFont fontWithName:fontName size:20];
显然无法设置所需的字体,因为普通 arial 字体的名称是ArialMT
为了克服这个问题,我必须在最后附加 MT ,但如果我这样附加,那么我将被困在第二个标签中,即“ TimesNewRoman ”,而 TimesNewRoman 的正常字体是TimesNewRomanPSMT。
如果我对粗体和斜体表示“是”,我的问题会进一步恶化
例如,如果是 TimesNewRoman,则“PS”以“TimesNewRoman”为后缀,而“MT”位于字体名称中的连字符之后。
TimesNewRomanPS-BoldItalicMT
TimesNewRomanPS-BoldMT
TimesNewRomanPS-ItalicMT
TimesNewRomanPSMT
如果是 Arial,则成员是
Arial-BoldItalicMT
Arial-BoldMT
Arial-ItalicMT
ArialMT
除此之外,在某些字体中,使用术语“斜体”而不是斜体,如下所示
字体系列:- Courier
Courier
Courier-Bold
Courier-BoldOblique
Courier-Oblique
是否有任何补救措施可以将所需的字体名称与字体系列分开//无需担心字体名称