Ios UIControl生命周期

Ios UIControl生命周期,ios,uicontrol,Ios,Uicontrol,UIControl是否有文档化的生命周期 这就是为什么我要问: 假设我有一个UITextField。我可以轻松地连接一个按钮来更改边框颜色,如下所示: myTextField.layer.borderColor = [[UIColor redColor] CGColor]; 现在假设我有一个自定义控件,它是UIControl的一个子类。相同的代码不会更改边框颜色,除非我同时发出setNeedsLayout,如下所示: [myControl setNeedsLayout]; 我是否需要在某个地

UIControl是否有文档化的生命周期

这就是为什么我要问:

假设我有一个UITextField。我可以轻松地连接一个按钮来更改边框颜色,如下所示:

myTextField.layer.borderColor = [[UIColor redColor] CGColor];
现在假设我有一个自定义控件,它是UIControl的一个子类。相同的代码不会更改边框颜色,除非我同时发出
setNeedsLayout
,如下所示:

[myControl setNeedsLayout];

我是否需要在某个地方实现一个事件方法,以便在不使用
setNeedsLayout
的情况下实现此功能?

对于后代,以下是我自己解决问题的方法

在my.h文件中:

@property (nonatomic, strong, setter = setBorderColor:) UIColor *borderColor;
在my.m文件中:

- (void)setBorderColor:(UIColor *)clr {
    borderColor = clr;
    myControl.layer.borderColor = borderColor.CGColor;
}

它就像一个符咒。

它应该可以工作,而不需要你额外的努力。您确定要在主线程中设置它吗?解决问题后,您可能希望返回并编辑问题(尤其是标题),以便它与您发现的内容更相关。我不认为您真的在寻找UIControl生命周期(这与任何视图都差不多),这里的解决方案只涉及如何更新边框颜色而不需要
-setNeedsDisplay
。我询问控件生命周期的原因是,我怀疑我可以在预先存在的操作中完成这项工作。UIViewController将显示类似于ViewController的内容。相反,我不得不在我需要的财产发生变化时,拼凑出一个解决方案。我仍然认为应用新边界更适合于生命周期方法,不是吗?