• 自定义控件设置属性并实时展现并预览在xib中


    关键字:

    // @IBDesignable:实时看到xib设置后的效果

    // @IBInspectable:给xib提供设置属性,可以xib中看到此属性

    场景:

    自定义一个UITextField,并提供borderColor、borderWidth、cornerRadius三个属性;

    要求:这三个属性能够展现在xib中,改变属性值,能实时预览效果。

    1、我们先自定义类:

     1 import UIKit
     2 
     3 // @IBDesignable:实时看到xib设置后的效果
     4 @IBDesignable
     5 class YSTextField: UITextField {
     6     
     7     // @IBInspectable:给xib提供设置属性,可以xib中看到此属性
     8     @IBInspectable var borderColor:UIColor?{
     9         didSet{
    10             self.layer.borderColor = borderColor?.cgColor
    11         }
    12     }
    13     
    14     // @IBInspectable:给xib提供设置属性,可以xib中看到此属性
    15     @IBInspectable var borderWidth:CGFloat = 0{
    16         didSet{
    17             self.layer.borderWidth = borderWidth
    18         }
    19     }
    20     
    21     // @IBInspectable:给xib提供设置属性,可以xib中看到此属性
    22     @IBInspectable var cornerRadius:CGFloat = 0{
    23         didSet{
    24             self.layer.cornerRadius = cornerRadius
    25             self.layer.masksToBounds = true
    26         }
    27     }
    28 }

    2、新建一个xib,拖入一个UITextField,并把其类对应修改为我们刚自定义的类:YSTextField

    3、在属性栏中我们就可以看到我们定义的属性了

  • 相关阅读:
    zjoj1706: [usaco2007 Nov]relays 奶牛接力跑
    bzoj1784: [Usaco2010 Jan]island
    [PKUSC2018]真实排名
    [PKUSC2018]主斗地
    回来了
    P4887 第十四分块(前体)
    P3604 美好的每一天
    Codeforces Round #660(CF1388)
    BOI2020 DAY2
    BZOJ 5281--[Usaco2018 Open]Talent Show(分数规划&单调队列&DP)
  • 原文地址:https://www.cnblogs.com/panda1024/p/6216962.html
Copyright © 2020-2023  润新知