0

どこかに UIControl の文書化されたライフサイクルはありますか?

これが私が尋ねる理由です:

UITextField があるとします。次のように境界線の色を変更するボタンを簡単に接続できます。

myTextField.layer.borderColor = [[UIColor redColor] CGColor];

ここで、UIControl のサブクラスであるカスタム コントロールがあるとします。その同じコードはsetNeedsLayout、次のように も発行しない限り、境界線の色を変更しません。

[myControl setNeedsLayout];

なしでこれを機能させるために実装する必要があるイベントメソッドはどこかにありsetNeedsLayoutますか?

4

1 に答える 1

1

将来の世代のために、私が自分で問題を解決した方法を次に示します。

私の .h ファイルで:

@property (nonatomic, strong, setter = setBorderColor:) UIColor *borderColor;

私の.mファイルでは:

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

魅力のように機能します。

于 2013-02-25T22:48:55.527 に答える