【问题标题】:Multiple UIViews in XIB of UITableViewCellUITableViewCell的XIB中的多个UIView
【发布时间】:2013-05-18 08:00:39
【问题描述】:

我一直在尝试使用 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 的键值编码不兼容。'

我已经阅读了大量有关该运行时错误的信息,但我只能找到:

  • 我需要验证 contentView 实际上是在 标题。 (如您所见,它在那里声明)

  • 我需要在 cellForRow 中将 UITableViewCell 更改为 RecessCell,我这样做了。

我该如何解决这个问题?创建自定义 UITableViewCells 这么难吗?

【问题讨论】:

    标签: ios uiview uitableview uiscrollview uinib


    【解决方案1】:

    您不应在头文件中创建另一个名为 contentView 的插座。 UITableViewCell 已经有一个名为 contentView 的属性。

    此外,如果您正在使用 UITableVieCell 创建 .xib,并且您正在向 UITableViewCell 添加视图,则视图将被添加到内容视图中。 因此,您需要进入您的 .xib 文件并删除链接到您的 contentView IBOutlet 的视图之间的链接。 (您也可以删除该视图,但要小心,以免删除子视图)

    【讨论】:

    • 我的 xib 有 2 个 root 视图:包含 UIScrollView 的 UITableCell 和我想成为 scrollView 内容的 UIView。此视图不在 UITableCell 的视图层次结构中,因为它们是分开的。我一直在尝试做的是在自定义 UITableViewCell 中制作 scrollView 以呈现来自同一个 .xib 的另一个 UIView。我试图更改属性名称,但出现了同样的问题。我怎样才能实现我所说的?
    • 所以让我直截了当地说,你想要 UITableViewCell->UIScrolllView->UIView,但为此你有 2 个根视图,因为? (我不想无礼我只是想了解你的问题)
    猜你喜欢
    • 2017-09-24
    • 2019-12-12
    • 2015-04-05
    • 1970-01-01
    • 2016-08-05
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多