【发布时间】:2020-02-24 15:43:01
【问题描述】:
我有一个 reusableCell,它有一个标签,其值由数组提供。但是标签和约束的值每次都会改变,我的 cellForRowAtIndexPath 代码看起来像
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row % 2 == 0)
{
isReceived =TRUE;
}
else{
isReceived = FALSE;
}
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"id" forIndexPath:indexPath];
ChatMessageCellTableViewCell *messageCell = (ChatMessageCellTableViewCell*) cell;
if(messageCell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ChatMessageCellTableViewCell" owner:self options:nil];
messageCell = [nib objectAtIndex:0];
}
else{
[[messageCell formLabel]setText:messages[indexPath.row]];
[messageCell setSelectionStyle:UITableViewCellSelectionStyleNone];
} // this else part is just to make sure that the if has a else part as I saw many people it will work , but in my case it didn't help.
[[self tableView] setEstimatedRowHeight:50.0];
[self.tableView setRowHeight:UITableViewAutomaticDimension];
return messageCell;
}
当我滚动表格时,值会发生变化。我尝试了许多不同的方法,但找不到解决方案,我很困惑,不得不发布我的问题。
谢谢
【问题讨论】:
-
你把笔尖注册到 UITableView 了吗?例如[self.tableView registerNib:[UINib nibWithNibName:@"ChatMessageCellTableViewCell" bundle:nil] forCellReuseIdentifier:@"id"];
-
是的,我认为这是我的问题,因为我没有向 UITableView 注册任何笔尖。
标签: ios objective-c iphone uitableview