简而言之,我想创建一个@IBInspectable
属性,当您在 Storyboards 中时,该属性允许您从下拉菜单中的列表中进行选择。此外,如果有一种方法可以创建分隔线并更好地组织,IBInspectables
我想知道这是否也是可能的。在我的示例中,我想为电话号码创建正则表达式字符串,这样当我转到情节提要时,我可以在下拉菜单中选择“电话号码”项,而不是输入正则表达式字符串。
目前我已经对 a 进行了子类化,TextField
以便我可以向它添加更多IBInspectables
内容,例如正则表达式(您可以在图片中看到)。所以就目前而言,这就是我的子类UITextField
:
@IBDesignable public class FRM_TextField: UITextField {
@IBInspectable public var regex : String?
public var isValid : Bool{
if let unwrappedRegex = regex{
let applied_regex_expression = NSRegularExpression.regularExpressionWithPattern(unwrappedRegex, options: nil, error: nil)
let numberOfMatches = applied_regex_expression?.numberOfMatchesInString(text, options: nil, range: NSMakeRange(0, countElements(text)))
if(numberOfMatches > 0 ){
return true
}else{
return false
}
}
return false
}
public required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
public override init(){
super.init();
}
public override init(frame: CGRect) {
super.init(frame: frame)
}
}