次のように、ペン先からコンテンツをロードするカスタム ビューを作成しました。
/* PricingDataView.h */
#import <UIKit/UIKIt.h>
@interface PricingDataView : UIView {
UIView *contentView;
}
@property (nonatomic, retain) IBOutlet UIView *contentView;
@end
/* PricingDataView.m */
#import "PricingDataView.h"
@implementation PricingDataView
@synthesize contentView;
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
[[NSBundle mainBundle] loadNibNamed:@"PricingDataView" owner:self options:nil];
[contentView setFrame:frame];
[self addSubview:contentView];
}
return self;
}
/* ... */
nibファイルにPricingDataView
File's Ownerのタイプを設定し、contentView
IBにアウトレットを接続しました。UIView
ユーザーに表示されるフルサイズのビューに Interface Library からレギュラーを配置し、そのクラス名を に変更しましたPricingDataView
。それはすべてビルドされますが、実行時に、カスタム ビューがあるはずの場所に何もレンダリングされません。
にブレークポイントを配置しましPricingDataView.initWithFrame
たが、ヒットしないため、ビューが初期化される原因となるものが不足していることがわかります。私が興味を持っているのは、ペン先から他のビューをロードする過程で、すべての初期化が発生するが、このビューでは発生しないことです。なんで?