问题标签 [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.
ios - 如何找到 UILabel 的现有 UIFontTextStyle?
我目前正在创建一个扩展UILabel
以方便观察动态类型。收到aUIContentSizeCategoryDidChangeNotification
后,我希望我的选择器使用
wheresomeUIFontTextStyle
使用与UIFontTextStyle
当前展示的标签相同的标签。我曾希望这样的属性可以通过类似的东西访问self.font.fontDescriptor.textStyle
,但事实似乎有点复杂。
有没有办法访问UIFontTextStyle
与 a 关联的属性UILabel
?
解决方案
ios - 在旧金山使用 fontWithSize API
iOS 9 中的新 San Francisco 字体通过调整跟踪和在 SF Display 和 SF Text 之间动态切换,针对将要使用的大小进行了优化。在 WWDC 会议 #804 中指出,开发人员不应通过尝试初始化UIFont
using来使用 San Francisco fontWithName
,例如:
fontWithName
这是因为系统在使用API时无法针对新大小优化字体。
相反,建议UIFontDescriptor
从原始字体中获取并使用新字体创建新字体,如下所示:
但是,他们没有提到以下是否允许优化:
我的问题是,fontWithSize
API 的行为是否像fontWithName
API 或fontWithDescriptor
API - 它是否会导致针对新大小的优化字体?
ios - iOS - 是否可以制作 UIFont SystemFont Italic 和 Thin(不使用 fontWithName :)?
我的应用程序仅使用系统字体,并且我正在使用功能创建它们 -
如何使用权重 UIFontWeightThin 使系统字体斜体?
我不能使用对特定系列字体 (fontWithName:) 的调用,因为我希望它只是系统字体。
谢谢 :)
ios - 在 Swift 中为 iOS 字体描述符添加自定义权重
这似乎应该很容易,但无论出于何种原因,它都不起作用。我在 SO 上读过类似的帖子,似乎字体特征字典可能有问题?这是一个问题还是我完全错过了什么?这是我第一次弄乱这样的字体,所以我认为可能是后者。
我不想使用常量或提供带有“-bold”变体的字体。我想对字体粗细进行细粒度控制。
研究:
- 字体描述符在 iOS 8 中返回 nil
- https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIFontDescriptor_Class/#//apple_ref/doc/constant_group/Font_Traits_Dictionary_Keys
根据 iOS 文档,使用数字值应该可以工作(我正在运行 iOS 9.2):
UIFontWeightTrait
作为 NSNumber 对象的标准化权重值。有效值范围是 -1.0 到 1.0。0.0 的值对应于常规或中等字体粗细。您还可以使用字体粗细常量来指定特定的粗细;有关可以使用的常量列表,请参阅字体粗细。在 iOS 7.0 及更高版本中可用。
xcode - 二元运算符'|' 不能应用于 addOrRemoveFontTraitWithName 处的操作数
我正在将我的 Objective-c 代码转换为 swift 2,我收到以下错误:
二元运算符“&”不能应用于“UIFontDescriptorSymbolicTraits”和“UInt32”类型的操作数
二元运算符'|' 不能应用于“UIFontDescriptorSymbolicTraits”和“UInt32”类型的操作数
这是我的代码: if { ... else {
我尝试使用“traitValue:UIFontDescriptorSymbolicTraits”作为参数“traitvalue”
现在错误是
二元运算符'|' 不能应用于两个“UIFontDescriptorSymbolicTraits”操作数
一元运算符“~”不能应用于“UIFontDescriptorSymbolicTraits”类型的操作数
此错误已在此处发布,但对我没有解决方案。它让我疯狂...:-(
ios - iOS 字体系列 API 不返回 systemFontOfSize 名称
我需要转储设备(9.x)上可用的所有字体(字体名称及其变体)
代码看起来很简单:
产生以下内容:
但它仍然缺少我可以使用的基本系统字体:
甚至更特殊的字体使用权重:
显然更多取决于重量。
我试图迭代preferredFontForTextStyle,但它总是返回“Helvetica”
所以基本上问题是如何获得所有字体名称,包括systemFont...
API提供的字体名称
swift2 - TextKit:不能在 Swift 中将粗体字体更改为“UnBold”
我有一个带有一些文本的 TextView,它的字体是Bold。我有一个按钮。点击此按钮时,粗体字体应更改为“非粗体”
有一个 ViewController 和一个名为“FontManager”的类来管理 TextKit/UITextView 的字体。
我的字体管理器代码:
此代码在 selectedRange 中将字体设置为粗体可以正常工作
这是一个检查,如果已经有粗体文本。如果不是(== NSNotFound),则 selectedRange 中的文本变为粗体“特征”
(1) 如果 selectedRange 中的 Font为粗体(否则:!= NSNotFound),Font应设置为正常(UnBold)
现在是 ViewController 的代码:
在按钮的第一次点击应该有一个跳到(1),否则...
但这不会发生。在调试模式下可以看到???
欢迎任何想法!
ios - fontDescriptorWithSymbolicTraits ios 8 bug 的快速替代方案
我正在尝试创建一个 Swift 自定义文本编辑器(精简版)并陷入 iOS 8 fontDescriptorWithSymbolicTraits 错误,返回 nil。是否有任何 Swift 解决方法?
我在这里创建了一个小项目示例,您可以下载并运行以下场景:
- 选择一个文本
- 点击“ B ”按钮
- 点击“我”按钮
应用程序崩溃,fontDescriptorWithSymbolicTraits
返回nil
:(
我强烈建议快速查看示例项目
我有什么选择?
我还看到,在 Apple 文档中,SDK 和文档中缺少其他人使用的方法
其他人对此有何评论:
ios - swift 2.0 将 UIFontDescriptorSymbolicTraits 转换为 CTFontSymbolicTraits
我怎样才能将 a 转换UIFontDescriptorSymbolicTraits
为CTFontSymbolicTraits
?
ios - UIFont 初始化程序返回对象并使应用程序崩溃
我的 iOS 应用程序在 iOS 8.2 上崩溃,但在 iOS 9 及更高版本上运行良好。当我检查崩溃日志时,以下函数导致崩溃(写在NSMutableAttributedString
扩展中)
崩溃日志
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“NSConcreteMutableAttributedString addAttribute:value:range::nil value”
当我调试并记录该函数中使用的变量时,descriptor
&newFont
都显示为<uninitialized>
我不能在这里使用if let
或newFont != nil
检查,因为两者都会抛出一个错误,说“ UIFont won't be nil ”。我该如何解决这个崩溃?(或者我如何检查对象是否已初始化?)我真的被这个问题困住了,因为我的大多数用户仍然使用 iOS 8。