我发现了一件很奇怪的事情。
`
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 100;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
cell.textLabel.text = [NSString stringWithFormat:@"%ld",indexPath.row];
if(indexPath.row == 0)
{
[cell.contentView addSubview:self.imageContainer];
}else
{
if(self.imageContainer.superview == cell.contentView)
{
[self.imageContainer removeFromSuperview];
}
}
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == 0)
{
return 200;
}
else
{
return 44;
}
}
答案 0 :(得分:0)
只需更改以下一行代码即可解决您的问题:
来自
if (nil == _imageContainer)
到
if (nil == _imageContainer || _imageContainer.superview == nil)
如果只有一个容器,则在数据源方法中,确保突出显示图像以加载图像。希望它能解决您的问题。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];
cell.textLabel.text = [NSString stringWithFormat:@"%ld",indexPath.row];
if(indexPath.row == 0)
{
[cell.contentView addSubview:self.imageContainer];
UIImageView * imageView =(UIImageView *)_imageContainer.subviews [0]; imageView.highlighted =是;
}else
{
if(self.imageContainer.superview == cell.contentView)
{
[self.imageContainer removeFromSuperview];
}
}
return cell;
}