ios – 拖动时删除UITableView和UIRefreshControl之间的空白区域

我有一个UIRefreshControl的表视图.

表格的第一行是蓝色,UIRefreshControl背景颜色也是蓝色.

当我向下拖动桌子以刷新它时,我得到了一条白色线条,将桌子和UIRefreshControl分开.

当我停止拖动表格时,此行正在消失.

如何在不更改白色的tableview背景颜色的情况下删除此白线?

附上图片以澄清:

解决方法

我有一个解决这个问题的工作.如果您不想更改表视图的背景颜色,仍希望删除此空间.

基本上在UIRefreshControl后面创建一个UIView *视图,并在viewDidLoad方法中将视图的背景颜色设置为您想要的颜色

-(void)viewDidLoad
{
    //you implementation of viewDidLoad
    self.view = [[UIView alloc]initWithFrame:CGRectMake(0,self.view.frame.size.width,0)];
    self.view.backgroundColor = [UIColor yourBackgroundColor];
    [self.tableView insertSubview:self.view belowSubview:self.refreshControl];
}

然后实现uiscrollviewdelegate方法以动态更改UIRefreshControl后面的视图高度以掩盖间隙.

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat offset = scrollView.contentOffset.y;
    [self.view setFrame:CGRectMake(0,offset + 20)]; // or any small number
}

请注意,您可能仍然看到一行,因为它是tableview的分隔符,您可以更改tableView的分隔符颜色或样式以将其删除.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...