[英]First 5 cells not showing image in custom TableView Cell - iOS
我有一个UITableView
,我已经转化为横向的tableview,和一个自定义UITableViewCell
它只是有一个UIImageView
和UILabel
问题是,前5个单元格不显示图像,但是当我滚动并返回到它们时,将显示图像。 不知道是什么问题:(
这是我在TableViewController类中的代码:
-(void)viewDidLoad
{
//Rotating the tableview angle -PI/2 Rad = -90 Degrees
_friendsTableView.transform= CGAffineTransformMakeRotation(-M_PI_2);
_friendsTableView.translatesAutoresizingMaskIntoConstraints = YES;
CGRect frame = _friendsTableView.frame;
frame.origin.y= _segmentControl.frame.size.height;
frame.origin.x= 0;
frame.size.width = self.view.frame.size.width;
frame.size.height = 105.5;
_friendsTableView.frame= frame;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
FriendsTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
if (nil == cell) {
cell = [[FriendsTableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:identifier];
}
if(cell)
{
cell.user = cellsArray_[indexPath.row];
cell.transform =CGAffineTransformMakeRotation(M_PI_2);
}
return cell;
}
现在,这是我的自定义单元格类代码,在其中设置图像和标签( _user
是属性,因此将从cell.user
自动调用此setter方法):
-(void)setUser
{
_profileImageView.layer.cornerRadius = _profileImageView.frame.size.width/2;
_user = user;
_nameLabel.text = @"Hello";
[_profileImageView setImage:[UIImage imageNamed:@"placeholder_image"]];
}
为什么不使用Collection View控制器呢? 转换Tableview控制器似乎不好。
在您的代码中,您没有调用setUser方法。
对于自定义表格视图单元格,您可以在以下位置添加以下代码
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
MyCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:strID];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyCustomCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
}
根据我的经验,这与单元的可重用性严格相关,我曾经遇到过类似的问题,我的解决方案是在将某些东西分配给IBOulet之前,确保将其清空,然后再分配它,它应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.