我一直在尝试使用 UIScrollView 制作自定义 UITableViewCell。我有一个 .xib,其中包含一个 UITableViewCell(仅包含一个 UIScrollView)和一个 UIView,它是单元格的 scrollView 的内容视图。
好的,现在这是应该显示自定义单元格的 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 实际上是在标题中声明的。(如您所见,它在那里声明)
我需要在 cellForRow 中将 UITableViewCell 更改为 RecessCell,我这样做了。
我该如何解决这个问题?创建自定义 UITableViewCells 这么难吗?