Tengo horizontal UIScrollview configurado (lo que significa que no se desplaza hacia arriba y hacia abajo sino uno que solo se desplaza de izquierda a derecha) y al iniciar la aplicación, quiero que esta vista deslizante se desplace hacia la izquierda, luego a la derecha "demostrando" su capacidad de desplazamiento - y finalmente luego se detiene, dejando que el usuario tome el control y controle el desplazamiento manualmente con el dedo. Todo funciona, excepto para este demo de carga y descarga de izquierda a derecha.¿Cómo fuerza forzosamente un pergamino mediante UIScrollView?
no estoy usando el Interface Builder para nada de esto, estoy haciendo todo con código:
//(this is in viewDidLoad:)
// Create the scrollView:
UIScrollView *photosScroll = [[UIScrollView alloc] initWithFrame: CGRectMake(0, 0, 320, 200)];
[photosScroll setContentSize: CGSizeMake(1240, 200)];
// Add it as a subview to the mainView
[mainView addSubview:photosScroll];
// Set the photoScroll's delegate:
photosScroll.delegate = self;
// Create a frame to which to scroll:
CGRect frame = CGRectMake(10, 10, 80, 150);
// Scroll to that frame:
[photosScroll scrollRectToVisible: frame animated:YES];
Así que las cargas ScrollView éxito y estoy capaz de desplazarse de izquierda a derecha con el dedo - pero no hace este "auto-scroll" como esperaba que fuera.
- Traté de llamar a la scrollRectToVisible antes y después de la adición de la ScrollView como subvista - no funcionó.
- ¿Pensando que esto debería ocurrir en en loadView y no en viewDidLoad? Pero si es así, ¿cómo?
¿Alguna idea?
¿te refieres a algo como esto? Marco CGRect = CGRectMake (800, 0, 800, 150); [photosScroll scrollRectToVisible: frame animated: YES]; frame = CGRectMake (0, 0, 800, 150); [photosScroll scrollRectToVisible: frame animated: YES]; porque eso no funcionó ... – sirab333
Para el n. ° 1, sí, pero no es necesario hacer que el "marco" se desplace al tamaño de la vista completa. Puede hacer 'CGRectMake (800, 0, 1, 1)' si lo desea, y luego 'CGRectMake (0, 0, 1, 1)'. Para desplazar el área de 800 píxeles a 1600 píxeles, puede desplazarse a '(1599, 0, 1, 1)' y, a continuación, para desplazar el área de 0 a 800 a la vista, puede desplazarse a '(0 , 0, 1, 1) '. – darvids0n
oh ok, déjame probar esto en viewDidAppear ... – sirab333