问题标签 [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 投票
1 回答
3226 浏览

ios - 在 iOS 上显示按比例间隔的数字(而不是等宽/表格)

我通过将数字存储在 NSAttributedString 中并使用“drawAtPoint:”渲染来在 iOS 中渲染数字(针对 7 及以上)。我正在使用 Helvetica Neue。

我注意到像这样绘制的数字的数字是不成比例的——字形都具有相同的宽度。即使是细小的“1”也与“0”占用相同的空间。

一项测试证实了这一点:

在其他地方:

生成的字形都具有相同的 6.358 点宽度。

是否有一些渲染选项我可以打开它来启用比例数字字形?是否有另一种字体(理想情况下类似于 Helvetica Neue)支持比例数字字形(理想情况下是内置的)?还要别的吗?

谢谢你。

0 投票
5 回答
5927 浏览

ios7 - UIFontWeightTrait and UIFontDescriptorFamilyAttribute Ignored when creating UIFont from UIFontDescriptor

Given the following code and a device running iOS 7.1 or later:

I would expect the value of shouldBeAnUltraLightFont to be an instance of HelveticaNeue-UltraLight, but instead it is:

I am following the Apple documentation as far as I understand it. Why is the font family and font weight information completely ignored?

Things I’ve Tried

  • I've tried other family names like Helvetica, Avenir, etc.
  • I've tried other font weights in the valid range from -1 to 1, in increments of 0.25

Regardless of these changes, the font returned is always a vanilla instance of Helvetica at normal weight.

0 投票
2 回答
2321 浏览

ios - 字体描述符在 iOS 8 中返回 nil

以下代码在 iOS 7 中运行良好,但在 iOS 8 中不返回粗体或斜体字体。对于 Helvetica Neue 可以,但不适用于 Arial 字体。

在设备和模拟器上测试,仍然是同样的错误。

0 投票
0 回答
198 浏览

ios - 确定 UIFont 的笔画宽度

我想绘制与实例CGContextRef的笔划宽度相匹配的图形元素(使用 a )的字形,UIFont以便它们与实例和谐地结合,即使字体大小不同。

那么,给定 aUIFont或 a UIFontDescriptor,iOS 下是否有一种相当稳健的机制来确定字体的笔画宽度?

具体来说,我只需要为Helvetica Neue执行此操作。但是,如果有一个通用的解决方案,那就太好了、有趣且令人愉快。


对于众多字体,即使在单个字形(例如Zapfino )内,笔划宽度也会有所不同。在这种情况下,要求笔画宽度没有多大意义。查询的空结果将是完全合理的响应。

事实上,我认为即使使用 Helvetica Neue,字形中的笔划宽度也可能不统一。不过,一些稳健且合理的近似值会很棒。比如说,小写字母 l 使用的宽度。或者其他的东西。

0 投票
2 回答
1873 浏览

ios - 为什么有些 iOS 字体系列不支持 UIFontDescriptorTraitBold?

我尝试使用给定字体系列名称来获得粗体 iOS UIFont 的方法似乎仅适用于某些字体。例如:

打印(在 iOS 8.1 模拟器上):

这是一个错误,还是它不适合每个字体系列(实际上有一个粗体变体)?我真的不想被迫解析字体名称以寻找“粗体”或类似的东西。

0 投票
0 回答
75 浏览

ios - 从字体中删除字符

据我从这个 WWDC doc可以看出,我的代码应该可以工作,但它不能:

怎么了?新创建的字体仍然包含我专门删除的字符:

0 投票
1 回答
138 浏览

objective-c - 为什么我无法将 UIFontDescriptor 保存到变量中?

我有以下代码:

但它给了我错误“预期的表达”。这意味着什么?

0 投票
1 回答
431 浏览

ios - 将 Object-C 转换为 SWIFT textKit

以下代码在我的应用程序中用于在粗体和斜体之间更改文本视图中文本的状态。我一直在尝试用 Swift 重写它,但我不断收到编译错误。以下是在线教程中提供给我的 Objective-C 版本。接下来是我的新 swift 版本,直到该方法崩溃为止。
我会感谢任何可能帮助我理解为什么编译器抱怨这么多的帮助。

// NSLog(@"字典是:%@", dict);

}

SWIFT 代码:func addOrRemoveFontTraitWithName(traitName: String!, andValue traitValue: UInt32) {

}

0 投票
2 回答
1123 浏览

ios - 获取内容大小类别的 UIFont

UIFont提供了+preferredFontForTextStyle:根据用户选择的内容大小类别和给定的UIFontTextStyle.

我想做的是为给定的文本样式内容大小获取字体。类似的东西+fontForContentSizeCategory:andTextStyle:

UIFont不幸的是,我在or的标题中找不到类似的东西UIFontDescriptor

关于如何实现这一目标的任何想法?

谢谢

0 投票
2 回答
6576 浏览

ios - 设置 UIFont 权重

在 iOS 8 中,为了获得 Helvetica Neue 的精简版本,下面的代码可以工作

在 iOS 9 中,系统字体更改为 San Francisco,所以我不能再这样做了。我绝对必须在这个应用程序中使用 Helvetia,但不知道如何设置字体粗细。这是我目前正在使用的代码。

我知道有一个接受 UIFontDescriptor 的构造函数。不知道如何使用它。任何想法表示赞赏!

注意:在将其标记为重复之前,请知道仅有的 2 个帖子要么未答复,要么当前不起作用。