【问题标题】:What method is called when UITextField is renderedUITextField 渲染时调用什么方法
【发布时间】:2015-03-24 12:03:51
【问题描述】:

我想创建一个 UITextField 的子类来自动改变它的样式。

我尝试继承并覆盖 init 方法:

- (id)init
{
    self = [super init];
    if (self) {
        self.layer.borderWidth = 1.0;
        self.layer.borderColor = [[StyleKit2 blue]CGColor];
        self.layer.cornerRadius = 5.0;
    }
    return self;
}

然后我将其设置为故事板中的自定义类。

但它不会影响文本视图。

【问题讨论】:

  • 我不认为 UITextField 有 viewDidLoad,因为我不能从我的子类调用 super。
  • 是的,它是 awakeFromNib,抱歉,已将其发布到答案中

标签: ios xcode storyboard


【解决方案1】:

你可以在 awakeFromNib 中放入相同的代码:

-(void)awakeFromNib
{
    [super awakeFromNib]; 

    self.textFieldx.layer.borderWidth =1.0;
    self.layer.borderColor = [[StyleKit2 blue]CGColor];
    self.layer.cornerRadius = 5.0;

}

您也可以尝试在initWithFrame 中覆盖它。

您可以在用户定义的运行时属性(第三个选项卡)中的界面构建器中添加这些属性,颜色除外。在界面生成器中,您可以设置 UIColor,但您需要 CGColor 作为borderColor。

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2018-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多