如何为字体和方向编写自定义IBInspectable?

时间:2016-10-10 14:37:09

标签: ios swift ibinspectable

我决定在swift中为文本字段写扩展名,并为UITextField添加一些功能,例如添加标题,标题,标题方向,自定义颜色,标题的自定义字体等。

左侧的RTL语言方向编号(例如电话号码),但右侧的标题方向,因为我强制使用单独的方向文本字段和标签。

我对IBInspectable的问题,因为我想为标签文本字段(标题)添加方向和自定义字体,但IBInspectable不支持NSTextDirection的这个功能,UIFont只支持少数人认为:

  • 内部
  • CGFloat的
  • 字符串
  • 布尔
  • CGPoint
  • CGSize
  • 的CGRect
  • 的UIColor
  • 的UIImage

我不希望在IBInspectable中使用boolean作为方向。

你对这个主题有什么想法吗?

感谢您的帮助,我为英语不好道歉。

2 个答案:

答案 0 :(得分:1)

UIFontnamesize组成,因此我们可以使用namesize来创建UIFont

@IBInspectable var fontName: String = "HelveticaNeue-Medium" {
    didSet {
        label.font = UIFont.init(name: fontName, size: fontSize)
    }
}

@IBInspectable var fontSize: CGFloat = 12 {
    didSet {
        label.font = UIFont.init(name: fontName, size: fontSize)
    }
}

enter image description here

enter image description here

答案 1 :(得分:0)

我想你可以通过以下方式解决这个问题:

private var font: UIFont!
@IBInspectable fontStr: String! {
    didSet{
        self.folnt = UIFont(name: fontStr, size: 15.0)
    }
}

那就是说,最好不要这样做。这应该通过代码而不是使用界面构建器来完成。