2013-10-18 1 views
7

Sono nuovo di Storyboard; Ho già realizzato alcuni Interface Builder e un sacco di posizionamento dell'interfaccia utente manuale. Ho cercato questo problema, ho provato le soluzioni trovate negli altri post rilevanti, senza risultato.UIScrollView non scorre (Storyboard)

Ho un controller di visualizzazione con UIScrollView aggiunto in Storyboard. La presa ScrollView è stata collegata, la proprietà sintetizzata. Lo scorrimento abilitato è selezionato. Rimbalzi è controllato Anche allora non c'era alcuna indicazione che qualsiasi scorrimento avrebbe avuto luogo. Quando ho controllato Bounces Vertically, ho potuto almeno vedere il contenuto scorrevole, ma rimbalza dopo il rilascio. Le dimensioni del fotogramma che ho trovato sono state fissate a 320 e 521. Ho sperimentato diverse altezze ma nulla ha aiutato. (Quale dovrebbe essere la dimensione impostata in Storyboard che soddisferà le dimensioni del telefono più vecchio e più recente?).

In viewDidLoad, ho aggiunto

[scrollView setContentSize:CGSizeMake(320, 1000)]; 

Una dichiarazione di registro conferma poi che questo valore è stato accettato. Ma non è stato d'aiuto neanche.

Qualcuno in un post ha suggerito di aggiungere:

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 808)]; 
} 

Ciò ha avuto l'effetto di crash del programma quando il controller caricato.

Qualsiasi aiuto sarebbe molto apprezzato!

Grazie.

+0

Forse hai un'altra vista che copre lo scorrimento e tocchi invece di esso? –

+0

rendere il controller di visualizzazione il delegato di UIScrollViewDelegate. Viene fornito con un sacco di metodi in cui è possibile verificare se il tuo scrollView sta ottenendo i tocchi. Controlla la documentazione qui https://developer.apple.com/library/ios/documentation/uikit/reference/uiscrollviewdelegate_protocol/Reference/UIScrollViewDelegate.html – Priyatham51

+0

Ciao Grzegorz, ci sono solo un mucchio di etichette e campi di testo in cima allo scrollview , per quanto posso dire. –

risposta

15

Due sono andate le cose necessarie:

1) Imposta altezza ScrollView a 480.

2) Aggiungi il vincolo al campo in basso nella ScrollView. Il vincolo era Pin >> Bottom Space to Superview.

+3

Il 2) è importante in StoryBoard !!! – Sars

+1

Ho risolto anche questo aggiungendo i giusti vincoli al mio UIScrollView. –

+0

Grazie mille, ha risparmiato un sacco di tempo ..... – susant

6

Basta aggiungere il seguente metodo:

- (void)viewDidLayoutSubviews 
{ 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(320, 1700)]; 
} 

Questo sta funzionando perfettamente per me.

+0

Questa è la domanda: (void) viewDidLayoutSubviews. Le persone (me incluso) scrivono "self.scrollView setContentSize" nel posto sbagliato, in (void) viewDidLoad o in altri posti. Ripeti: QUESTA E 'LA DOMANDA, il posto (vuoto) viewDidLayoutSubviews. – Markus