Ho una cella di visualizzazione tabella personalizzata definita nel file storyboard.Quando il layout è completo per UITableViewCell personalizzato?
Questa cella contiene vista di scorrimento con poche pagine di contenuto e di un indicatore di pagina. Scorri le visualizzazioni, la visualizzazione del contenuto e la cella stessa, tutte definite mediante l'auto-layout. Le visualizzazioni Pagina1/2/3 sono associate per avere la stessa larghezza della vista di scorrimento e il binding del contenitore per avere una larghezza di 3 volte come visualizzazione di scorrimento. In questo modo non sono sicuro che il contenuto sia esattamente dimensionato per mostrare tre pagine di informazioni indipendentemente dalle dimensioni dello schermo.
Ho un codice nella classe di cella personalizzata per aggiornare l'indicatore della pagina quando la vista di scorrimento ha fatto scorrere - questo funziona correttamente.
ho esposto anche il metodo nella classe di cellule per specificare la pagina dall'esterno, e in questo setter sto facendo qualcosa di simile:
- (void)setPage:(NSInteger)page animated:(BOOL)animated
{
CGFloat pageWidth = self.scrollView.frame.size.width;
self.pageControl.currentPage = page;
[self.scrollView setContentOffset:CGPointMake(page*pageWidth, 0) animated:animated];
}
Il problema che sto affrontando è molto spesso scorrere frame vista e la dimensione del contenuto non è definita correttamente quando sto chiamando questo setter, quindi l'indicatore di pagina sarà impostato, ma la vista di scorrimento non cambia l'offset del contenuto.
Dove posso trovare un momento in cui l'auto-layout della mia cella è completo e posso garantire che setContentOffset funzionerà? Ho provato a chiamare setPage
da cellForIndexPath
- che ovviamente non funziona, quindi ho provato a chiamarlo da willDisplayCell
- stessa storia - la cella stessa è già strutturata correttamente, ma la vista di scorrimento ha ancora 600px (dallo storyboard) e fallisce.
Stai cercando di visualizzare il contenuto impaginato? –
Sì. Questo è esattamente ciò che sto cercando di fare – sha