initWithFrame
- это метод, который вызывается для программного создания UIView, а initWithCoder
вызывается, когда UIView создается из XIB.
Так что все зависит от того, как вы собираетесь создать свой содержащий вид.
Способ охватить все дела:
- (id) initWithFrame:(CGRect)frame
{
if ((self = [super initWithFrame:frame])){
[self setUpSubViews];
}
return self;
}
- (id) initWithCoder:(NSCoder*)aDecoder
{
if ((self = [super initWithCoder:aDecoder])){
[self setUpSubViews];//same setupv for both Methods
}
return self;
}
- (void) setUpSubViews
{
//here create your subviews hierarchy
}