6
xibを使用して再利用可能なUIViewを作成する(およびストーリーボードからロードする)
OK、これについてStackOverflowに数十の投稿がありますが、ソリューションについて特に明確なものはありません。UIView付随するxibファイルを使用してカスタムを作成したいと思います。要件は次のとおりです。 個別ではありませんUIViewController–完全に自己完結型のクラス ビューのプロパティを設定/取得できるようにするクラスのアウトレット これを行うための私の現在のアプローチは次のとおりです。 オーバーライド -(id)initWithFrame: -(id)initWithFrame:(CGRect)frame { self = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil] objectAtIndex:0]; self.frame = frame; return self; } -(id)initWithFrame:ビューコントローラで使用してプログラムでインスタンス化する MyCustomView *myCustomView = [[MyCustomView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)]; [self.view insertSubview:myCustomView atIndex:0]; これは正常に機能します(ただし[super init]、ロードされたペン先のコンテンツを使用してオブジェクトを呼び出したり設定したりすることは少し疑わしいようですが、この場合はサブビューを追加することもできます)。ただし、ストーリーボードからのビューもインスタンス化できるようにしたいと思います。だから私はできる: UIViewストーリーボードの親ビューにを配置します カスタムクラスをに設定します MyCustomView オーバーライド-(id)initWithCoder:–私が最もよく見たコードは、次のようなパターンに適合します。 -(id)initWithCoder:(NSCoder *)aDecoder { self = [super initWithCoder:aDecoder]; if …