2

カスタム UITableViewCell に関する 1 つの質問。

このセルを設計するには、xib ファイルを含む UICustomTableViewCell が必要です。

セルを作成するときは、カスタム コンストラクターも使用していくつかのパラメーターを渡します。たとえば、次のようになります。

initWithMyParamterA:(NSString*) aParameterA andParameterB:(NSString*) aParameterB;

このパラメーターを渡すためにプロパティを使用しないことをお勧めします。

loadNibNameでは、このコンストラクター(xib ファイルをロードするため) とデフォルトのコンストラクターを一緒に実装するにはどうすればよいですか。

initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier

これらをどのように混合できますか?:)

4

2 に答える 2

1

xib からアーカイブされていinitWithCoder:ないビューは、nib からカスタム ビューを初期化するためにそのメソッドをオーバーライドする必要があることを使用して常に初期化されます。

Nib ファイルのドキュメント

于 2013-10-22T20:32:55.980 に答える
1

UIView クラスをカテゴリで拡張し、クラス名を使用して XIB を作成するメソッドを追加しました

+ (id) viewWithDefaultXib
{
    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil];
return [topLevelObjects count] ? [topLevelObjects objectAtIndex:0] : nil;
}

クラスで次のメソッドを定義して、オブジェクトを初期化できます。- (id) initWithCoder:(NSCoder *)aCoder 詳しくは https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/Protocols/NSCoding_Protocol/Reference/Reference.htmlをご覧ください

于 2013-10-22T20:24:43.947 に答える