Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何编写字体和方向的自定义iInspectable?_Ios_Swift_Ibinspectable - Fatal编程技术网

Ios 如何编写字体和方向的自定义iInspectable?

Ios 如何编写字体和方向的自定义iInspectable?,ios,swift,ibinspectable,Ios,Swift,Ibinspectable,我决定在swift中为文本字段编写扩展名,并为UITextField添加一些功能,例如添加标签、标题、标题方向、自定义颜色、标题自定义字体等 RTL语言方向号(例如电话号码)位于左侧,但标题方向位于右侧,因此我强制将方向文本字段和标签分开 我的问题是IBInspectable,因为我想为标签文本字段(标题)添加方向和自定义字体,但IBInspectable不支持NSTextDirection、UIFont的此功能,只支持很少的想法: Int CGFloat 双重的 串 布尔 CGPoint C

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

RTL语言方向号(例如电话号码)位于左侧,但标题方向位于右侧,因此我强制将方向文本字段和标签分开

我的问题是IBInspectable,因为我想为标签文本字段(标题)添加方向和自定义字体,但IBInspectable不支持NSTextDirection、UIFont的此功能,只支持很少的想法:

  • Int
  • CGFloat
  • 双重的
  • 布尔
  • CGPoint
  • CGSize
  • CGRect
  • UIColor
  • UIImage
我不想在IBInspectable中使用布尔值作为方向

你对这个题目有什么想法吗


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

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

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

也就是说,最好不要这样做。这应该通过代码而不是界面生成器来完成。

UIFont
name
size
组成,因此我们可以使用
name
size
来创建
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)
    }
}


好久不见了,你找到解决办法了吗@阿里·扎赫迪戈尔