カスタムビューを実装しようとしています(C#カスタムUserControlと同等)
使用事例:
- カスタムUIViewベースのコントロールを実装しました
- コントロールは、特殊なXiBファイル(XibファイルA)に関連付けられています
- XiBの「ファイルの所有者」は、IBOutletsが定義されている特殊なクラスです。
- このコントロールは、別のXiBファイル(XiBファイルB)によって参照されます。
XibファイルAの要素がXibファイルB内にレンダリングされることを期待していましたが、すべてのIBOutletsが適切に関連付けられていて、UIが表示されず、「awakeFromNib」が呼び出されました。
私はここで何が間違っているのですか?
以下は、cusom XiBベースの〜control〜(別のXiBの別のコントロール/ビューによって参照される)のコードです。
@interface SeriesView ()
@property (strong, atomic, readonly) MediaViewer* mediaViewer;
- (void) OnInitialize;
- (void) awakeFromNib;
@end
@implementation SeriesView
@synthesize mediaViewer = _mediaViewer;
@synthesize image = _image;
@synthesize scroll = _scroll;
- (id)initWithFrame:(CGRect)frame
{
if(nil == (self = [super initWithFrame:frame]))
return nil;
[[NSBundle mainBundle] loadNibNamed:@"SeriesView" owner:self options:nil];
return self;
}
- (id)initWithCoder:(NSCoder*)aDecoder
{
if(nil == (self = [super initWithCoder:aDecoder]))
return nil;
[[NSBundle mainBundle] loadNibNamed:@"SeriesView" owner:self options:nil];
return self;
}
- (void) OnInitialize
{
_mediaViewer = [[MediaViewer alloc] init];
_image.hidden= NO;
}
- (void)awakeFromNib
{
[super awakeFromNib];
[self OnInitialize];
}
@end