2012-02-25 13 views
26

Tengo un UIScrollView. El scrollview.contentSize se establece a la altura de todas las subvistas en el UIScrollView. Cuando la altura del contentSize es mayor que la altura del UIScrollView, se desplaza perfectamente al arrastrar la vista. Cuando la altura del contentSize es menor que la altura del UIScrollView, no ocurre nada cuando arrastro la vista.¿Cómo siempre se puede desplazar un UIScrollView?

Creo que es un comportamiento estándar, ya que no hay realmente nada para desplazarse. Pero me gustaría que el UIScrollView se mueva un poco de todos modos.

Una posible solución es asegurarse de que la altura de la contentSize nunca es menor que el frame.height más un pequeño margen (es decir 5px):

CGSize scrollSize = self.frame.size; 
int defaultHeight = self.frame.size.height + 5; 
int contentHeight = self.webView.frame.origin.y + self.webView.frame.size.height; 
scrollSize.height = MAX(defaultHeight, contentHeight); 
[self.scrollView setContentSize:scrollSize]; 

¿Hay una manera menos hacker para hacer esto ?

+0

No sólo quiere que rebote? – jrtc27

+0

Supongo que has intentado configurar 'scrollEnabled' en' SÍ' manualmente, ¿verdad? – dasblinkenlight

+0

Sí, solo quiero que rebote, y sí, 'scrollEnabled = YES' no funcionó. – dhrm

Respuesta

71

Hay dos propiedades en UIScrollView que suenan como lo que quiere:

@property(nonatomic) BOOL alwaysBounceVertical; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag vertically 
@property(nonatomic) BOOL alwaysBounceHorizontal; // default NO. if YES and bounces is YES, even if content is smaller than bounds, allow drag horizontally 

Basta con establecer uno o ambos de ellos para YES y obtendrá el efecto rebote.

Esto también se puede ajustar en IB marcando la "Bounce horizontalmente" y la caja (s)/o "rebote vertical":

enter image description here

+4

Tenga en cuenta que la casilla de verificación solo "Bounces" debe marcarse además de "Bounce horizontalmente" o "Bounce verticalmente". –

Cuestiones relacionadas