2011-05-18 7 views
5

he creado un resumen de desplazamiento que contiene un control de página que carga las imágenes del paquete de recursos ... todo funciona bien. Puedo desplazarme por diferentes imágenes ... el problema es si pulso el control de página correspondiente (punto)), no soy capaz de navegar a la imagen correspondiente .... u chicos podrían ayudarme a continuación es el código ... el código de abajo funciona perfectamente biencontrol de página en uiscrollview

// Email.h 

@interface Email : UIViewController<UIScrollViewDelegate> 
{ 
    UIPageControl *pageControl; 
    UIScrollView *scroller; 
} 

@property (nonatomic,retain)IBOutlet UIPageControl *pageControl; 
@property (nonatomic,retain)IBOutlet UIScrollView *scroller; 

-(IBAction)clickPageControl:(id)sender; 

@end 


// Email.m 

@implementation Email 
@synthesize pageControl,scroller; 

-(IBAction)clickPageControl:(id)sender 
{ 
    int page=pageControl.currentPage; 
    CGRect frame=scroller.frame; 
    frame.origin.x=frame.size.width=page; 
    frame.origin.y=0; 
    [scroller scrollRectToVisible:frame animated:YES]; 
} 

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 
{ 
    int page = scrollView.contentOffset.x/scrollView.frame.size.width; 
    pageControl.currentPage=page; 
} 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [email protected]"Press Photos"; 
    for (int i=1; i<10; i++) 
    { 
     UIImageView *images=[[UIImageView alloc]initWithImage: 
     [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",i]]]; 
     images.frame=CGRectMake((i-1)*320, 0, 320, 460); 
     [scroller addSubview:images]; 
     [images release]; 
    } 
    scroller.delegate=self; 
    scroller.contentSize=CGSizeMake(320*9, 460); 
    scroller.pagingEnabled=YES; 

    pageControl.numberOfPages=9; 
    pageControl.currentPage=0; 
} 
+1

Deberías Use etiquetas de código para mostrar su código de manera que sea legible. – CharlieMezak

Respuesta

4
frame.origin.x=frame.size.width=page; 

debería ser

frame.origin.x = frame.size.width * page; 
+0

gracias que funcionó por completo ... recibí una consulta más. Tengo 8 imágenes (significa 8 puntos) ... si hago clic en el quinto punto (control de página) quiero que la 5ta imagen se cargue en la vista de desplazamiento ... no cada la imagen se carga hasta que se vea la quinta imagen en la vista de desplazamiento ... gracias de antemano – kingston

+0

UIPageControl no admite el salto directo a una página. Si realmente quieres que se haga, considera agregar un 'UITapRecognizer' al control de página y manejar los toques. Juzgue basado en la ubicación del marco y toque, en qué página está interesado el usuario y cambie la página en consecuencia. –

Cuestiones relacionadas