UIView サブクラスを初期化する
Xcode で UIView のサブクラスを新規作成すると初期化メソッドの雛形として
- (id)initWithFrame:(CGRect)frame;
が作成される。
このサブクラスを所有するクラスが initWithFrame をコールしてインスタンスを明示的に生成する場合はこれでいいが、InterfaceBuilder を使って View を設計している場合は、initWithFrame がコールされないので注意
InterfaceBuilder でViiew に UIView サブクラスを割り当てている場合は、自動的にインスタンスが生成されるので initWithFrame がコールされない
上記のような場合は初期化したいUIView サブクラスに以下のメソッドを追加実装すればOK
- (void)awakeFromNib
{
//ここに初期化コード
}
- (id)initWithFrame:(CGRect)frame;
が作成される。
このサブクラスを所有するクラスが initWithFrame をコールしてインスタンスを明示的に生成する場合はこれでいいが、InterfaceBuilder を使って View を設計している場合は、initWithFrame がコールされないので注意
InterfaceBuilder でViiew に UIView サブクラスを割り当てている場合は、自動的にインスタンスが生成されるので initWithFrame がコールされない
上記のような場合は初期化したいUIView サブクラスに以下のメソッドを追加実装すればOK
- (void)awakeFromNib
{
//ここに初期化コード
}