Domanda

Questo è un bug che accade frequentemente, ma non sempre.Ho un controllo di aggiornamento aggiunto alla mia UicollectionVisualizza.Quando aggiorno, funziona perfettamente.Tuttavia, se a metà lo rinfresca più volte o addirittura a fare un aggiornamento completo, vai su un'altra scheda nell'app, quindi tornare indietro, quando aggiorno, l'uirefreshcontrol appare in parte della UicollectionVisualizza.Inoltre, invece di iniziare da zero Aggiorna barre di spinner, inizia con tutti carichi (ho notificato questo in altre app come la posta però, in modo che molto sia un bug del sistema operativo, ma nelle app di OS, lo spinner non vail contenuto). Ecco un'immagine del problema: https://www.dropbox.com/s/4qk6qjrdlapsvz0/img_0074.jpg. Ecco come ho impostato il rinfrescanteController in ViewDidload.

refreshControl = [[UIRefreshControl alloc] init];

[refreshControl addTarget:self action:@selector(refresh2)

forControlEvents:UIControlEventValueChanged];

[self.collectionView addSubview:refreshControl];

self.collectionView.alwaysBounceVertical = YES;
.

Qualcuno sa come rendere lo spinner andare dietro la collectionviewcontroller?Grazie

È stato utile?

Soluzione

Ho anche avuto questo problema e ho capito così, quindi pensavo di condividere.Quello che ho fatto è stato costringerlo alla parte posteriore della visitazione di Uicollection.Avevo provato altre cose come SendsubViewtoback e impostare lo Zindex dell'UicollectionViewCell ma non funzionava.Comunque sotto ho funzionato e ho testato su iOS 6 +:

refreshControl.layer.zPosition = -1;
.

per iOS 6, aggiungi questo:

refreshControl.userInteractionEnabled = NO;
.

Altri suggerimenti

Problema: Inizi a scorrere verso il basso e rivelare parzialmente l'uirefreshcontrol, ma non scorri fino in fondo per farla girare.Vai a un'altra vista (o "minimizzare" l'app, invia a sfondo) e tornare indietro.Scorri un po 'e l'uirefreshcontrol mostra in cima alla tua collezioneVisualizza completamente carica, non sgrassata e non girando.

Soluzione: È necessario endrefreshing sul viewwilldissappear e sull'app inviati allo sfondo.

var refreshControl = UIRefreshControl()

override func viewDidLoad() {
    super.viewDidLoad()
    refreshControl.addTarget(self, action: #selector(ViewController.methodNameForRefreshing), forControlEvents: .ValueChanged)
    collectionView.addSubview(refreshControl)
    //or
    tableView.addSubview(refreshControl)

    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.willResignActiveNotif), name: UIApplicationWillResignActiveNotification, object: nil)
}

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)
    refreshControl.endRefreshing()
}

func willResignActiveNotif(notification: NSNotification) {
    refreshControl.endRefreshing()
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top