检索UITextfield的文本样式

时间:2014-11-10 19:48:10

标签: ios swift

我尝试获取UITextField的文本样式。我在Interface Builder中的属性检查器中设置了样式(字体文本样式 - 子标题)。

在我的应用中尝试对字体大小更改做出反应。他们需要文字风格。

他们是一种检索此信息的方法。我不想在代码中设置文本样式,因为我开发了一个可以在IB中使用的可重用组件

1 个答案:

答案 0 :(得分:2)

查看UITextFIeld Class referenceUIFont Class reference

@IBOutlet var textField: UITextField!

    ...    

    let fontInfo = textField.font
    println(fontInfo.fontName)
    println(fontInfo.familyName)
    println(fontInfo.pointSize)

编辑 - 添加了用于检查文本样式的特定代码

    let textStyle = fontInfo.fontDescriptor().fontAttributes()["NSCTFontUIUsageAttribute"] as String

    switch textStyle {
    case UIFontTextStyleBody:
        println("Body")
        break
    case UIFontTextStyleCaption1:
        println("Caption1")
        break
    case UIFontTextStyleCaption2:
        println("Caption2")
        break
    case UIFontTextStyleFootnote:
        println("Footnote")
        break
    case UIFontTextStyleHeadline:
        println("Headline")
        break
    case UIFontTextStyleSubheadline:
        println("SubHeadline")
        break
    default:
        println("Default")
        break
    }