我有一个UIRefreshControl的表视图.
表格的第一行是蓝色,UIRefreshControl背景颜色也是蓝色.@H_301_3@
当我向下拖动桌子以刷新它时,我得到了一条白色线条,将桌子和UIRefreshControl分开.@H_301_3@
当我停止拖动表格时,此行正在消失.@H_301_3@
解决方法
我有一个解决这个问题的工作.如果您不想更改表视图的背景颜色,仍希望删除此空间.
基本上在UIRefreshControl后面创建一个UIView *视图,并在viewDidLoad方法中将视图的背景颜色设置为您想要的颜色@H_301_3@
-(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后面的视图高度以掩盖间隙.@H_301_3@
-(void)scrollViewDidScroll:(UIScrollView *)scrollView { CGFloat offset = scrollView.contentOffset.y; [self.view setFrame:CGRectMake(0,offset + 20)]; // or any small number }
请注意,您可能仍然看到一行,因为它是tableview的分隔符,您可以更改tableView的分隔符颜色或样式以将其删除.@H_301_3@