2015-01-29 13 views
8

Mam widok tabeli z UIRefreshControl.Usuwanie białej spacji między UITableView i UIRefreshControl podczas przeciągania

Pierwszy wiersz tabeli to niebieski, a kolor tła UIRefreshControl również jest niebieski.

po przeciągnięciu stołu w celu jego odświeżenia otrzymałem białą linię oddzielającą stół od UIRefreshControl.

Ta linia znika, gdy przestaję przeciągać tabelę.

Jak usunąć białą linię bez zmiany koloru tła widoku stołu, który jest biały?

Obraz dołączony do wyjaśnienia: Snapshot

+0

Oto przykład projekt https://encodable.com/uploaddemo/files/tableWithReferesh.zip –

+0

mam ten sam problem ... – Jacob

+0

Jak skończyć rozwiązywania tego? – SAHM

Odpowiedz

0

mam pracę wokół, aby rozwiązać ten problem. Jeśli nie chcesz zmieniać koloru tła widoku tabeli, a nadal chcesz usunąć to miejsce.

Zasadniczo utworzyć UIView *view tył UIRefreshControl i ustaw kolor tła widoku na kolor, który chcesz w viewDidLoad metody

-(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]; 
} 

Następnie wdrożyć metodę UIScrollViewDelegate dynamicznie zmienić wysokość widoku tyłu UIRefreshControl, aby ukryć lukę.

-(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 
} 

Uwaga można jeszcze zobaczyć linię bo to separator z tableview można zmienić tableView „s separator kolor lub styl, aby go usunąć.

0

Podobna do odpowiedzi Jinga, zrobiłem widok luki i wprowadziłem go za kontrolkę odświeżania. Nie musiałem wykonywać żadnych regulacji czasu przewijania, ponieważ ujemna pozycja y była wystarczająca.

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!) 
Powiązane problemy