2013-08-21 9 views
7

Bene, so che ci sono già molte risposte alle mie domande, ma ho provato ognuna di queste e ho ancora il problema. Ho un UIScrollView che contiene un UIView, voglio l'autolayout attivo per un'animazione. Ma a causa di ciò, la mia scrollview non scorre.La finestra di scorrimento non scorre a causa del caricamento automatico

Questo è il mio codice:

NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(_scrollView, _containerScrollView); 

    [_scrollView setScrollEnabled:YES]; 
    [_scrollView setContentSize:CGSizeMake(_scrollView.frame.size.width, CGRectGetHeight(_containerScrollView.frame))]; 
    _scrollView.userInteractionEnabled = YES; 
    _scrollView.delaysContentTouches = YES; 

    [self.superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_scrollView]|" options:0 metrics:0 views:viewsDictionary]]; 
    [self.superview addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_scrollView]|" options:0 metrics:0 views:viewsDictionary]]; 
    [_scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_containerScrollView]|" options:0 metrics:0 views:viewsDictionary]]; 
    [_scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_containerScrollView]|" options:0 metrics:0 views:viewsDictionary]]; 

Qualcuno mi può spiegare perché non funziona?

+0

Le dimensioni di ScrollView e ContainerScrollView sono diverse? Se hanno le stesse dimensioni, il contenuto Dimensione della visualizzazione a scorrimento imporrà che non è necessario scorrere per visualizzare tutto il contenuto. – Eric

+0

Sì, la dimensione è diversa. altezza _scrollview: 652. _containerScrollView height: 1050 – Maxime

+0

In autolayout, in genere non si specifica 'contentSize' di una vista di scorrimento, poiché in genere è dettata dai vincoli delle sottoview. Ma, tornando indietro da questo, forse puoi dirci cosa stai cercando di ottenere. È difficile consigliare soluzioni senza comprendere l'immagine più ampia della UX desiderata. Ad esempio, qual è la natura dell'animazione? Come hai definito i vincoli di '_containerScrollView' (che presumo sia un' UIView' all'interno della vista di scorrimento, non un 'UIScrollView' stesso)? – Rob

risposta

0

Ho appena risposto a una domanda simile. https://stackoverflow.com/a/18404262/390665 È possibile trovare la vista di scorrimento dettagliata e la spiegazione NSLayoutConstraints su tale risposta.

+0

Grazie per il tuo aiuto, ci proverò questo pomeriggio e se ti dico se funziona. – Maxime

7

Provare a impostare il metodo ContentView int size "viewDidLayoutSubviews" con il mantenimento del set di autolayout.

-(void)viewDidLayoutSubviews 
{ 
    [self.itemList setContentSize:CGSizeMake(required_width, required_height)]; 
} 
+0

superb ha appena funzionato! –

Problemi correlati