0

UIScrollView を使用してカスタム UITableViewCell を作成しようとしています。UITableViewCell (UIScrollView のみを含む) と、セルの scrollView のコンテンツ ビューである UIView を含む .xib があります。

さて、カスタム セルを表示する UITableView のコードは次のとおりです。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    [self.tableView registerNib:[UINib nibWithNibName:@"RecessCell" bundle:nil] forCellReuseIdentifier:@"Recess"];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
        RecessCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Recess"];
        return cell;
}

RecessCell クラスのヘッダー:

#import <UIKit/UIKit.h>

@interface RecessCell : UITableViewCell

@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UIView *contentView;
@end

scrollView は、各セル内の UIScrollView のアウトレットです。contentView は、UIScrollView のコンテンツ ビューのアウトレットです。

さて、これまでのところすべてが合法に見えますが、アプリを実行すると:

*キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。理由: '[ setValue:forUndefinedKey:]: このクラスは、キー contentView のキー値コーディングに準拠していません。

私はその実行時エラーについてたくさん読んだことがありますが、私が見つけることができるのは次のとおりです:

  • contentView が実際にヘッダーで宣言されていることを確認する必要があります。(ご覧のとおり、そこで宣言されています)

  • cellForRow で UITableViewCell を RecessCell に変更する必要があります。

この問題を解決するにはどうすればよいですか? カスタム UITableViewCells を作成するのはとても難しいですか?

4

1 に答える 1