gpt4 book ai didi

ios - 我无法在UITableViewCell中设置标签

转载 作者:行者123 更新时间:2023-12-01 17:54:45 25 4
gpt4 key购买 nike

我只是想通过将表中的所有单元格都说“嗨”来测试自定义单元格,但这将无法正常工作……这些单元格全部为空白。似乎在设置标签文本之前就调用了TheCell类……我不知道该怎么做。

TheCell.h

#import <UIKit/UIKit.h>

@interface TheCell : UITableViewCell

@property (nonatomic, strong) IBOutlet UILabel *arrivalLabel;

@end

TheCell.m
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{

self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {

self.arrivalLabel.frame = CGRectMake(0, 0, 320, 30);
[self.contentView addSubview:self.arrivalLabel];
}
return self;
}

TableViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"anIdentifier";

TheCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell = [[TheCell alloc] init];
cell.arrivalLabel.text = @"hi";

return cell;
}

最佳答案

你有几个问题。您正在调用单元格类的init方法。您应该改为调用initWithStyle:reuseIdentifier:方法。

如果对dequeue...的调用返回nil,则还应该仅分配单元格。

然后,您需要确保单元格的initWithStyle:reuseIdentifier:方法正在为arrivalLabel属性创建标签实例。

TheCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
cell = [[TheCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

cell.arrivalLabel.text = @"hi";

另一个大问题是您单元格的 initWithStyle:reuseIdentifier:方法。您永远不会创建标签。
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
_arrivalLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];
[self.contentView addSubview:_arrivalLabel];
}
return self;
}

关于ios - 我无法在UITableViewCell中设置标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19897397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com