使用 XIB 自定义 UITableViewCell
Custom UITableViewCell with XIB
我环顾四周,有很多关于如何做到这一点的例子,但我还是不明白。
我有一个列表,其中列出了要显示标题、创建日期和其他一些内容的日记条目。我想用 XIB 来设计一个单元格,这样 UX 设计师就可以修改它并像素推送它。
所以,这就是我设置 xib 的方式:
然后我创建了一个 class 这个 xib 单元格指向并向其添加了两个属性:
@property (atomic, weak) IBOutlet UILabel* titleLabel;
@property (atomic, weak) IBOutlet UILabel* dateLabel;
我希望能够在创建这些单元格时进行设置。
在具有列表的视图中 table 我这样做:
在 -(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,但我实际上不确定。如果我无法在界面生成器中连接这两个属性,我该如何修改它们?我应该怎么做?
此外,我没有使用故事板。我以此为指导:Chapter 21. Table Views and Collection Views
对于重复的问题,我深表歉意,我只是不明白。哈尔普!
编辑:
出口截图:
编辑#2:
如果我移除单元格 xib 中的插座连接,我会看到:
不要使用文件所有者来设置与 IBOutlets 的关系。更改单元格的 class 并改用它(在某些 Xcode 版本上建立连接可能很棘手,但可行)。
我环顾四周,有很多关于如何做到这一点的例子,但我还是不明白。
我有一个列表,其中列出了要显示标题、创建日期和其他一些内容的日记条目。我想用 XIB 来设计一个单元格,这样 UX 设计师就可以修改它并像素推送它。
所以,这就是我设置 xib 的方式:
然后我创建了一个 class 这个 xib 单元格指向并向其添加了两个属性:
@property (atomic, weak) IBOutlet UILabel* titleLabel;
@property (atomic, weak) IBOutlet UILabel* dateLabel;
我希望能够在创建这些单元格时进行设置。
在具有列表的视图中 table 我这样做: 在 -(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,但我实际上不确定。如果我无法在界面生成器中连接这两个属性,我该如何修改它们?我应该怎么做?
此外,我没有使用故事板。我以此为指导:Chapter 21. Table Views and Collection Views
对于重复的问题,我深表歉意,我只是不明白。哈尔普!
编辑:
出口截图:
编辑#2:
如果我移除单元格 xib 中的插座连接,我会看到:
不要使用文件所有者来设置与 IBOutlets 的关系。更改单元格的 class 并改用它(在某些 Xcode 版本上建立连接可能很棘手,但可行)。