tableview 向后滚动时 GIF imageview 不显示?
GIF imageview not display when tableview scroll back?
我发现了一件很奇怪的事
1.I 关注我的 ViewController。
- 在 TableView 中添加此视图。
`
-(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;
}
}
当我滚动到底部并返回顶部时,gif 不是 display.why?
改一行代码如下:
来自
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;
}
我发现了一件很奇怪的事
1.I 关注我的 ViewController。
- 在 TableView 中添加此视图。
`
-(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;
}
}
当我滚动到底部并返回顶部时,gif 不是 display.why?
改一行代码如下:
来自
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;
}