35

@IBInspectable要するに、ストーリーボードにいるときにドロップダウン メニューのリストから選択できるプロパティを作成したいと思います。また、仕切りを作成して整理する方法がIBInspectablesあれば、これも可能かどうか知りたいです。私の例では、電話番号の正規表現文字列を作成して、ストーリーボードに移動したときに、正規表現文字列を入力する代わりに、ドロップダウン メニューで「電話番号」項目を選択できるようにしたいと考えています。

TextField現在、正規表現のようにさらに追加できるように、 a をサブクラス化し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)
  }   
}

正規表現ツールバー

4

3 に答える 3

14

リストや配列はまだサポートされていません。

現在、次のタイプがサポートされています@IBInspectable

  • 整数
  • CGFloat
  • ダブル
  • ブール
  • CGポイント
  • CGサイズ
  • CGRect
  • UIColor
  • UIImage

利用可能なすべての 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 では次のようになります。

ここに画像の説明を入力

于 2015-06-03T08:24:25.683 に答える