2015-01-29 14 views
8

Ho una vista tabella con UIRefreshControl.Rimozione dello spazio vuoto tra UITableView e UIRefreshControl durante il trascinamento di

La prima riga della tabella è blu e anche il colore di sfondo UIRefreshControl è blu.

quando trascino la tabella verso il basso per aggiornarla, ho ottenuto una linea bianca che separa la tabella e UIRefreshControl.

Questa riga scompare quando interrompo il trascinamento del tavolo.

Come posso rimuovere questa linea bianca senza modificare il colore dello sfondo di tableview che è bianco?

immagine allegata di chiarimenti: Snapshot

+0

Ecco un esempio di progetto https://encodable.com/uploaddemo/files/tableWithReferesh.zip –

+0

Ho questo stesso problema ... – Jacob

+0

Come hai fatto a finire risolvere questo? – SAHM

risposta

0

ho un lavoro intorno per risolvere questo problema. Se non vuoi cambiare il colore di sfondo della vista tabella e vuoi comunque rimuovere questo spazio.

creare Fondamentalmente un UIView *view dietro il UIRefreshControl, e impostare il colore del background vista per il colore che si desidera in viewDidLoad metodo

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

quindi implementare un metodo UIScrollViewDelegate per modificare dinamicamente l'altezza della vista dietro la UIRefreshControl per coprire il divario.

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

Nota si potrebbe ancora vedere una linea perché è il separatore del Tableview, è possibile modificare il colore di separazione s' la tableView o lo stile per rimuoverlo.

0

Simile alla risposta di Jing, ho creato una vista gap-cover e l'ho introdotta dietro il controllo refresh. Non avevo bisogno di fare aggiustamenti del tempo di scorrimento poiché la posizione Y negativa era sufficiente.

let gapCoverView = UIView(frame: CGRect(x: 0, y: -200, width: self.view.frame.width, height: 250)) 
gapCoverView.backgroundColor = UIColor.red 
self.view.insertSubview(gapCoverView, belowSubview: refreshControl!) 
Problemi correlati