获取uitextview的font-weight

mja*_*jay 1 objective-c uitextview uifont ios

我想在一些UITextViews中调整字体大小.这适用于插座集合和此代码:

for (UITextView *view in self.viewsToResize) {
  if ([view respondsToSelector:@selector(setFont:)]) {
     [view setFont:[UIFont systemFontOfSize:view.font.pointSize + 5]];
  }
}
Run Code Online (Sandbox Code Playgroud)

但我的问题是,并非每个textView都使用systemFont正常的重量,其中一些是粗体重.是否有可能获得字体重量?随着po view.font在调试方面,我可以看到我需要的一切:

$11 = 0x0c596ea0 <UICFFont: 0xc596ea0> font-family: "Helvetica"; font-weight: normal; font-style: normal; font-size: 12px
Run Code Online (Sandbox Code Playgroud)

但是我如何访问字体权重?

使用第二个插座集合来获取大胆的视图可以解决我的问题.但我想知道我没有发现只有字体重量.

voi*_*ref 6

我已经弄清楚如何获得字体权重,你必须深入到Core Text:

        let ctFont = font as CTFont
        let traits = CTFontCopyTraits(ctFont)
        let dict = traits as Dictionary

        if let weightNumber = dict[kCTFontWeightTrait] as? NSNumber {
            print(weightNumber.doubleValue)
        }
Run Code Online (Sandbox Code Playgroud)

请享用!