ios - 使用 XIB 自定义 UITableViewCell

标签 ios objective-c uitableview interface-builder

我环顾四周,有很多关于如何做到这一点的例子,但我还是不明白。

我有一个列表,其中列出了我想显示标题、创建日期和其他一些内容的日记条目。我想使用 XIB 来设计一个单元格,以便 UX 设计师可以对其进行修改和像素推送。

所以,这就是我设置 xib 的方式: enter image description here

然后我创建了一个这个 xib 单元指向的类,并向它添加了两个属性:

@property (atomic, weak) IBOutlet UILabel* titleLabel;
@property (atomic, weak) IBOutlet UILabel* dateLabel;

我希望能够在创建这些单元格时进行设置。

在具有列表的 View 中,我这样做: 在 -(void) viewDidLoad

[self.tableView registerNib:[UINib nibWithNibName:@"DreamListTableViewCell" bundle:nil] forCellReuseIdentifier:@"DreamListCell"];

在 - (UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 我这样做:

static NSString *MyIdentifier = @"DreamListCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier forIndexPath:indexPath];

问题是如果我在单元格 xib 中设置 IBOutlets 应用程序崩溃,因为我猜所有者在初始化时真的是 nil,但我实际上不确定。如果我无法在界面生成器中连接这两个属性,我该如何修改它们?我应该怎么做?

此外,我没有使用 Storyboard。我用这个作为指南:Chapter 21. Table Views and Collection Views

对于重复的问题,我深表歉意,我只是不明白。住手!

编辑: 导出截图: enter image description here

编辑#2: 如果我移除单元格 xib 中的 socket 连接,我会看到: enter image description here

最佳答案

不要使用 File's Owner 来设置与 IBOutlets 的关系。更改单元格的类并改用它(在某些 Xcode 版本上建立连接可能很棘手,但可行)。

关于ios - 使用 XIB 自定义 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27992656/

相关文章:

ios - 限制拖动到特定部分

ios - 如何使 UITableView 看起来像这样

javascript - 自定义 jQuery slider 在 iOS 7 Safari 上不起作用

ios - 使用 resizeableImageWithCapInsets 平铺 UIImageView :resizingMode?

ios - 如何在合并更改时打破 Core Data 多线程保留周期?

ios - dispatch_semaphore_wait 阻塞了我的网络请求回调

objective-c - iOS: "Flip-Clock"动画 - 怎么办?

c++ - 我需要一个使用 OpenCV 比较 2 个面孔(UIimage )并通过 IOS 获取距离的示例

ios - Cocoa 中文件的内容修改日期

ios - UITableView.RectForHeaderInSection 导致 'Request for rect of invalid section' 异常,为什么?