gpt4 book ai didi

swift - IBInspectable 创建下拉列表和更好的组织

转载 作者:IT王子 更新时间:2023-10-29 05:04:11 27 4
gpt4 key购买 nike

简而言之,我想创建一个@IBInspectable 属性,当您在 Storyboard 中时,它允许您从下拉菜单中的项目列表中进行选择。此外,如果有一种方法可以创建分隔线并更好地组织 IBInspectables,我想知道这是否也可行。在我的示例中,我想为电话号码创建正则表达式字符串,这样当我转到 Storyboard 时,我只需在下拉菜单中选择“电话号码”项,而不用输入正则表达式字符串。

目前我已经将 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)
}
}

Regex Toolbar

最佳答案

尚不支持任何列表或数组。

目前以下类型支持@IBInspectable

  • 国际
  • CGFloat
  • 双人间
  • 字符串
  • bool
  • CG点
  • CGSize
  • CGRect
  • 界面颜色
  • 界面图片

这是包含所有可用 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, 0, 100, 100)
@IBInspectable var color: UIColor = UIColor.redColor()
@IBInspectable var size: CGSize = CGSizeMake(100, 100)
@IBInspectable var image: UIImage = UIImage(named: "Logo")!

它在 IB 中看起来像这样:

enter image description here

关于swift - IBInspectable 创建下拉列表和更好的组织,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745509/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com