这个问题涉及iOS 3.2之前的版本.从3.2开始,使用下面的samvermette答案很容易实现这个功能,我已经改变了接受的答案(从命令到samvermette)以反映这一点.我不能赞同这两个答案(除了upvotes),但它们都很好.
我想有一个应用程序包括一个自定义字体用于渲染文本,加载它,然后使用标准UIKit元素,如UILabel.这可能吗?
我在下面找到了链接:
但是这些要求我自己渲染每个字形,这有点太辛苦了,特别是对于多行文本.
我也发现帖子直截了当地表示这是不可能的,但没有理由,所以我正在寻找一个确定的答案.
编辑 - UIKit实验失败
我下载了Harrowprint.tff(从这里下载)并将其添加到我的Resources目录和项目中.然后我尝试了这段代码:
__PRE__
导致抛出异常.查看Finder中的TTF文件,确认字体名称为Harrowprint.
编辑 - 到目前为止已经有很多回复告诉我阅读关于X或Y的文档.我已经对所有这些进行了广泛的实验并且无处可去.在一个案例中,X结果仅与OS X相关,而不是在iPhone上.因此,我正在为这个问题设置一个赏金,我将奖励给第一个提供答案的人(仅使用文档化的API),他们会回答足够的信息以便在设备上运行.在模拟器上工作也是一个奖励.
编辑 - 似乎赏金自动奖励得票最多的答案.有趣.实际上没有人提供解决问题的答案 - 涉及编码自己的UILabel子类的解决方案不支持自动换行,这对我来说是一个必不可少的功能 - 尽管我想我可以扩展它来做到这一点.
我在之前的应用程序中使用了自定义字体.
文件名是"ProximaNova-Regular.otf"并加载我刚使用的字体...
[UIFont fontWithName:@"ProximaNova-Regular" size:20];
这非常有效.
现在在这个新的应用程序中我有三个字体文件...
Dude_Willie.otf
Impact
handsean.ttf
但我不知道如何加载这些.
我试过了
[UIFont fontWithName:<the file name> size:20];
但这只是回到使用Helvetica.
如何找到要使用的名称?
我想在我的应用程序中实现自定义字体.所以我在我的项目源代码中添加了它.我不想以编程方式设置它.我可以通过在xib中设置属性来实现这一点吗?
我已经看到一些答案显示如何通过覆盖drawPlaceholderInRect:方法来更改UITextField的placeHolder文本颜色,如下所示:
iPhone UITextField - 更改占位符文本颜色
但这并不能保持现有的属性,如对齐,字体等......什么是解决这个问题的更好方法?
我试图更改标签的字体,但它不起作用字体名称:新的新旧金山.
将该字体导入项目并添加到info.plist中,这是我的代码
labelname.font = [UIFont fontWithName:@"SF UI Text-Light" size:12];
如果我使用它的工作正常
labelname.font = [UIFont fontWithName:@"HelveticaNeue" size:12];
但新旧金山字体不起作用.我不知道我错过了什么:(
我在我的应用程序中需要OpenSans,因此我导入了整个OpenSans群,其中包括Bold,ExtraBold,Italic,Regular,Light等.我在Mac上将它们添加到Fontbook(以便在使用它时检查我需要的确切名称),在文件结构中将它们添加到我的项目的Build阶段中.
现在奇怪的是; 当我在UIFont中使用它们时,只有OpenSans-Bold有效.其余的不起作用.如果我使用OpenSans-Bold(完全是Fontbook给出的标识符),一切正常.但是,如果我将其更改为OpenSans-Regular或OpenSans-Light或该系列中的其他内容,我会使用UIFont获取systemfont,并且在使用Quartz绘制时我什么也得不到.
所有字体都在所有列表中,我检查了Fontbook中的所有标识符(这就是为什么我无法让OpenSans-Bold工作),但现在我不知所措.知道我可能做错了吗?
我已将自定义字体 TTF 文件添加到我正在制作的应用程序中。

我还UIAppFonts根据需要将密钥添加到了 plist 中。

现在,当我启动应用程序时,它遇到了我们都熟知的“应用程序在 AppDelegate 中崩溃”断点。

我无法找到检查异常的方法,但奇怪的是,如果我运行它,应用程序会继续正常运行 - 甚至允许我进行调试。最重要的是,有问题的字体实际上已加载,因此似乎也没有任何问题。不知道从哪里开始寻找这个。
我想将attributesstring设置为my UILabel.所以我用这种方式定义了属性.
let attribute1:[String:Any]=[
        NSForegroundColorAttributeName: UIColor.init(colorLiteralRed: 120.0/255, green: 173.0/255, blue: 194.0/255, alpha: 1.0),
        NSFontAttributeName:UIFont.init(name: "Bariol_Bold", size: 15.0)!]
let attributedStringGreeting=NSAttributedString.init(string: welcomeMessage, attributes: attribute1)
但我收到这个错误:
NSFontAttributeName:UIFont.init(name: "Bariol_Bold", size: 15.0)!]
这是否意味着我的自定义字体没有采取?但是,当我从IB中设置字体时,它会显示出来.
致命错误:在展开Optional值时意外发现nil
我该如何解决这个问题?请帮我.
ios ×8
fonts ×4
objective-c ×3
uifont ×2
cocoa-touch ×1
iphone ×1
swift ×1
uilabel ×1
uitextfield ×1
xcode ×1
xcode4.2 ×1
xcode6 ×1