- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
任何人都可以确认 UIFont
(Cocoa-Touch/iOS 的)是否线程安全?也就是说,在主线程之外的线程内使用但实例不在线程之间共享是否安全?
问题是我正在这样做,并且我在 [NSString sizeWithFont:]
中遇到了随机崩溃并开始思考也许我不应该使用 UIFont
来自主运行循环之外?
此外Apple's documentation on UIFont
让我怀疑它是否可以从其他线程使用。
You do not create UIFont objects using the alloc and init methods. Instead, you use class methods of UIFont to look up and retrieve the desired font object.
上面的 blurb 听起来像 UIFont
在某处存储了一个实例缓存,因此从实例开始在主线程之外使用 UIFont
对象可能不是一个好主意可能会无意中被多个线程使用,并可能导致问题。哎呀,UIFont
的实例缓存 甚至可能成为线程争用的来源。
任何人都可以阐明这一点(通过可归属的链接/证据)吗?
谢谢
最佳答案
rokjarc 是对的。如果您想更改 UI 元素的字体,例如 UILabel 对象的 font 属性,您应该在主线程中进行。
但是如果你想在单独的线程中创建 UIFont 实例,你可以自由地去做。 Apple 文档说 UIFont 只为您提供静态方法。
关于ios - UIFont 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9817240/
如果我有一个 UIFont 对象,是否可以将它转换为粗体?我不知道字体名称,我只有一个 UIFont 对象。我想要的是像这样的功能 UIFont *boldFontFromFont(UIFont *i
所以我今天晚上将我的 XCode 更新到了 7.3。 在我的一个项目中,我设置字体的几个标 checkout 现以下错误: '(name: String, size: CGFloat) -> UIFo
最近我注意到滚动的性能正在减慢。我追踪了问题,发现原因是使用了 UIFont(descriptor:size:) 创建的字体。构造函数。我更改了 UIFont(name:size:) 的构造函数我的问
我正在编写一个 iPhone 应用程序,需要渲染包含 diacriticals 的 i18n 文本。 (波浪号、重音符号等)。 Apple 提供 UIFont可用于获取给定字体/字体大小组合的前导、上
我使用的UIFont支持我想要的符号。我如何以编程方式在代码中键入该符号? UILabel *label = [ [UILabel alloc ] initWithFrame:frame]; scor
我已向 UIFont 类添加了方法.h 文件 @interface UIFont (UIFont_CustomisedFont) +(UIFont*)bold11; +(UIFon
UIFont 提供 +preferredFontForTextStyle:方法根据用户选择的内容大小类别和给定的 UIFontTextStyle 获取具有适当大小的字体实例。 . 我想做的是获取给定文
在我的应用程序中,我想使用 stylistic alternate font对于 'a' 而不是 system font . 附件 screenshot这解释了字体的不同渲染。 如何为 UILabel
UIFont 有方法获取常规字体 (systemFontOfSize) 或粗体字体 (boldSystemFontOfSize),但是如何获取“细系统字体” “可以通过 Storyboard获得吗?
在 UITableViewCellDefault 样式中,标题字体是 20 点 Helvetica 普通样式字体,粗体。如何在代码中创建相同的字体? 我正在考虑创建一个 UITableViewCell
我正在尝试在 iPhone 应用程序中设置用户选择字体的可能性。 我已经使用 UIFont 类取得了进展。这是我的问题:当选择字体系列中的字体时,我如何知道用户对大小的可能性?有没有办法列出它们?我在
我有一个字体名称:HelveticaNeueLTStd-Roman 55.otf。我将它添加到我的 info.plist 文件中。 当我写代码时: UIFont *fontHalvetikaNeueL
有没有办法查询 UIFont 中的字符总数?例如,像这样: UIFont.systemFont(ofSize:16).count ?我正在构建一个应用程序来浏览 UIFont 中的所有字符。我想知道为
任何人都可以确认 UIFont(Cocoa-Touch/iOS 的)是否线程安全?也就是说,在主线程之外的线程内使用但实例不在线程之间共享是否安全? 问题是我正在这样做,并且我在 [NSString
我正在通过自定义函数为我的 View 中的所有 subview (例如UILabels)设置自定义字体。但是,如果我尝试仅通过 更正特定 UILabels 的字体大小 [lbl_EXAM_Statis
我正在尝试在 UILabel 中使用 UIFont fontWithName:size:,但在 250 点以上的尺寸下分辨率很差。我在使用自定义字体和系统字体时遇到问题。我对 UITextView 也
我对自定义字体有疑问。即Tw Cen MT.ttf 和这里一样的问题: Custom font not showing on device, but does on simulator 除了给定的解决
是否可以继承 UIFont 并用另一个(或字体描述符)初始化它?问题是,我不能调用 super.init(descriptor:size:) 进行初始化,因为它是一个方便的初始化程序。这样做的目的是更
我想知道是否应该缓存 [UIFont fontWithName:@"myfont"size:24]。我在很多地方重复使用这种字体。我想知道 iOS 是否已经为我缓存了这个,因为字体缓存在操作系统级别非
我在我的 tableview 中做了一些文字换行,因为一些值太大以至于超出了屏幕的边缘。 但是,字体、大小和粗体与表格 View 的默认设置不匹配,希望有人能帮我解决这个问题。 这就是我设置字段的方法
我是一名优秀的程序员,十分优秀!