问题标签 [uifontdescriptor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1743 浏览

ios - 如何找到 UILabel 的现有 UIFontTextStyle?

我目前正在创建一个扩展UILabel以方便观察动态类型。收到aUIContentSizeCategoryDidChangeNotification后,我希望我的选择器使用

wheresomeUIFontTextStyle使用与UIFontTextStyle当前展示的标签相同的标签。我曾希望这样的属性可以通过类似的东西访问self.font.fontDescriptor.textStyle,但事实似乎有点复杂。

有没有办法访问UIFontTextStyle与 a 关联的属性UILabel

解决方案

0 投票
1 回答
1347 浏览

ios - 在旧金山使用 fontWithSize API

iOS 9 中的新 San Francisco 字体通过调整跟踪和在 SF Display 和 SF Text 之间动态切换,针对将要使用的大小进行了优化。在 WWDC 会议 #804 中指出,开发人员不应通过尝试初始化UIFontusing来使用 San Francisco fontWithName,例如:

fontWithName这是因为系统在使用API时无法针对新大小优化字体。

相反,建议UIFontDescriptor从原始字体中获取并使用新字体创建新字体,如下所示:

但是,他们没有提到以下是否允许优化:

我的问题是,fontWithSizeAPI 的行为是否像fontWithNameAPI 或fontWithDescriptorAPI - 它是否会导致针对新大小的优化字体?

0 投票
2 回答
1125 浏览

ios - iOS - 是否可以制作 UIFont SystemFont Italic 和 Thin(不使用 fontWithName :)?

我的应用程序仅使用系统字体,并且我正在使用功能创建它们 -

如何使用权重 UIFontWeightThin 使系统字体斜体?

我不能使用对特定系列字体 (fontWithName:) 的调用,因为我希望它只是系统字体。

谢谢 :)

0 投票
5 回答
17230 浏览

ios - 在 Swift 中为 iOS 字体描述符添加自定义权重

这似乎应该很容易,但无论出于何种原因,它都不起作用。我在 SO 上读过类似的帖子,似乎字体特征字典可能有问题?这是一个问题还是我完全错过了什么?这是我第一次弄乱这样的字体,所以我认为可能是后者。

我不想使用常量或提供带有“-bold”变体的字体。我想对字体粗细进行细粒度控制。

研究:

根据 iOS 文档,使用数字值应该可以工作(我正在运行 iOS 9.2):

UIFontWeightTrait

作为 NSNumber 对象的标准化权重值。有效值范围是 -1.0 到 1.0。0.0 的值对应于常规或中等字体粗细。您还可以使用字体粗细常量来指定特定的粗细;有关可以使用的常量列表,请参阅字体粗细。在 iOS 7.0 及更高版本中可用。

0 投票
1 回答
150 浏览

xcode - 二元运算符'|' 不能应用于 addOrRemoveFontTraitWithName 处的操作数

我正在将我的 Objective-c 代码转换为 swift 2,我收到以下错误:

二元运算符“&”不能应用于“UIFontDescriptorSymbolicTraits”和“UInt32”类型的操作数

二元运算符'|' 不能应用于“UIFontDescriptorSymbolicTraits”和“UInt32”类型的操作数

这是我的代码: if { ... else {

我尝试使用“traitValue:UIFontDescriptorSymbolicTraits”作为参数“traitvalue”

现在错误是

二元运算符'|' 不能应用于两个“UIFontDescriptorSymbolicTraits”操作数

一元运算符“~”不能应用于“UIFontDescriptorSymbolicTraits”类型的操作数

此错误已在此处发布,但对我没有解决方案。它让我疯狂...:-(

0 投票
0 回答
490 浏览

ios - iOS 字体系列 API 不返回 systemFontOfSize 名称

我需要转储设备(9.x)上可用的所有字体(字体名称及其变体)

代码看起来很简单:

产生以下内容:

但它仍然缺少我可以使用的基本系统字体:

甚至更特殊的字体使用权重:

显然更多取决于重量。

我试图迭代preferredFontForTextStyle,但它总是返回“Helvetica”

所以基本上问题是如何获得所有字体名称,包括systemFont...API提供的字体名称

0 投票
1 回答
777 浏览

swift2 - TextKit:不能在 Swift 中将粗体字体更改为“UnBold”

我有一个带有一些文本的 TextView,它的字体是Bold。我有一个按钮。点击此按钮时,粗体字体应更改为“非粗体”

在此处输入图像描述

有一个 ViewController 和一个名为“FontManager”的类来管理 TextKit/UITextView 的字体。

我的字体管理器代码:

此代码在 selectedRange 中将字体设置为粗体可以正常工作

这是一个检查,如果已经有粗体文本。如果不是(== NSNotFound),则 selectedRange 中的文本变为粗体“特征”

(1) 如果 selectedRange 中的 Font粗体(否则:!= NSNotFound),Font设置为正常(UnBold)

现在是 ViewController 的代码:

在按钮的第一次点击应该有一个跳到(1),否则...

但这不会发生。在调试模式下可以看到???

欢迎任何想法!

下载项目

0 投票
1 回答
1045 浏览

ios - fontDescriptorWithSymbolicTraits ios 8 bug 的快速替代方案

我正在尝试创建一个 Swift 自定义文本编辑器(精简版)并陷入 iOS 8 fontDescriptorWithSymbolicTraits 错误,返回 nil。是否有任何 Swift 解决方法?

我在这里创建了一个小项目示例,您可以下载并运行以下场景:

  1. 选择一个文本
  2. 点击“ B ”按钮
  3. 点击“”按钮

应用程序崩溃,fontDescriptorWithSymbolicTraits返回nil:(

我强烈建议快速查看示例项目

我有什么选择?

我还看到,在 Apple 文档中,SDK 和文档中缺少其他人使用的方法

其他人对此有何评论:

  1. 字体描述符在 iOS 8 中返回 nil
  2. http://www.openradar.me/19922049
0 投票
1 回答
232 浏览

ios - swift 2.0 将 UIFontDescriptorSymbolicTraits 转换为 CTFontSymbolicTraits

我怎样才能将 a 转换UIFontDescriptorSymbolicTraitsCTFontSymbolicTraits

0 投票
0 回答
439 浏览

ios - UIFont 初始化程序返回对象并使应用程序崩溃

我的 iOS 应用程序在 iOS 8.2 上崩溃,但在 iOS 9 及更高版本上运行良好。当我检查崩溃日志时,以下函数导致崩溃(写在NSMutableAttributedString扩展中)

崩溃日志

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“NSConcreteMutableAttributedString addAttribute:value:range::nil value”

当我调试并记录该函数中使用的变量时,descriptor&newFont都显示为<uninitialized>

我不能在这里使用if letnewFont != nil检查,因为两者都会抛出一个错误,说“ UIFont won't be nil ”。我该如何解决这个崩溃?(或者我如何检查对象是否已初始化?)我真的被这个问题困住了,因为我的大多数用户仍然使用 iOS 8。