1

ビューを構築するためにInterface Builderで使用するサブクラスがありUITextFieldます(したがって、このオブジェクトのクラスをInterface Builderで直接MyCustomTextFieldに設定します)。

initWithCoderこれで、ビューが読み込まれると、の: メソッドMyCustomTextFieldが呼び出されるので、初期化を行うことができることがわかりました。ただし、Attribute Inspector を使用して Interface Builder で設定した属性が、設定した方法で初期化されていないこともわかりました。

このような理由と、MyCustomTextField のインスタンスのプロパティを、Interface Builder の属性インスペクターで設定した値に設定する方法を知っている人はいますか?

4

1 に答える 1

0

おそらく[super initWithCoder:coder]、このメソッドのカスタム オーバーライドから呼び出しているわけではありません。UIViewこのスーパー実装では、データは nib アーカイブからインスタンスにロードされます。正しい実装は次のようになります。

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (nil != self) {
        // extra initialization code
    }
    return self;
}
于 2014-02-17T12:42:44.737 に答える