迅速 – IBInspectable创建一个下拉和更好的组织
发布时间:2020-12-14 05:35:17 所属栏目:百科 来源:网络整理
导读:简而言之,我想创建一个@IBInspectable属性,使您可以在故事板中从下拉菜单中选择一系列的内容.另外如果有办法创建分隔符,更好地组织IBInspectables,我想知道这是否也可能.在我的示例中,我想为电话号码创建正则表达式字符串,以便当我去故事板时,我可以在下拉菜
简而言之,我想创建一个@IBInspectable属性,使您可以在故事板中从下拉菜单中选择一系列的内容.另外如果有办法创建分隔符,更好地组织IBInspectables,我想知道这是否也可能.在我的示例中,我想为电话号码创建正则表达式字符串,以便当我去故事板时,我可以在下拉菜单中选择“电话号码”项,而不是输入正则表达式字符串.
目前,我已经将一个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,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) } }
没有任何列表或数组的支持.
目前以下类型支持@IBInspectable > Int 以下是所有可用的IBInspectable的代码: @IBInspectable var integer: NSInteger = 10 @IBInspectable var float: CGFloat = 10 @IBInspectable var double: Double = 10 @IBInspectable var string: String = "string" @IBInspectable var bool: Bool = true @IBInspectable var point: CGPoint = CGPointMake(1,0) @IBInspectable var rect: CGRect = CGRectMake(0,100,100) @IBInspectable var color: UIColor = UIColor.redColor() @IBInspectable var size: CGSize = CGSizeMake(100,100) @IBInspectable var image: UIImage = UIImage(named: "Logo")! 它在IB看起来像这样: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |