Empecé a desarrollar para iOS sólo un par de días, así que todo es muy nuevo para mí!
Necesito mostrar en una aplicación de un «photo slider» como hemos en la biblioteca del iPhone o Facebook de la aplicación.
Después de algunas investigaciones, he llegado a un callejón sin salida. Mi objetivo es mostrar un conjunto de fotos, una por una, y hacer que el usuario se deslice el dedo de derecha a izquierda, o viceversa 🙂

¿Alguien tiene un ejemplo o sabe de uno?

Gracias a todos.

InformationsquelleAutor Hugo | 2011-01-23

4 Comentarios

  1. 7

    Bien Three20 es famoso pero me desalentaría el uso de ella. Si todo lo que necesitas es una foto slider, a continuación, poner toda la Three20 marco en el proyecto y tratando de averiguar cómo la URL de la navegación basada en la cosa funciona puede ser un dolor real.

    Aquí es una mejor alternativa, https://github.com/enormego/PhotoViewer. Es independiente de la implementación de la foto slider, y un correspondiente memoria caché de la imagen. Usted puede leer más acerca de cómo funciona el código en el blog del autor, http://developers.enormego.com/.

    • Sí, yo iba a decir lo mismo acerca de Three20. La dirección URL Basada en la navegación es un verdadero dolor de cabeza.
    • Gracias. Muy útil
    • Esos son gran ejemplo de grandes aplicaciones, pero sería más útil con algunos paso a paso la explicación de cómo hacerlo. Tal vez un video o texto tutoriales? Gracias por esas grandes fuentes.
  2. 5

    puede utilizar el siguiente código de ejemplo para diapositivas de imagen..Aquí ‘scr’ es el scrollview objeto.

    NSMutableArray *imgs=[[NSMutableArray  alloc]init]; 
                             //arrayWithObjects:[UIImage @"abc1.jpg"],[UIImage @"abc2.jpg"],[UIImage @"abc3.jpg"], [[email protected]"abc4.jpg"],
    //               [ UIImage @"abc5.jpg"],nil];
    
                          [imgs addObject:[UIImage imageNamed:@"abc1.jpg"]];
                          [imgs addObject:[UIImage imageNamed:@"abc2.jpg"]];
                           [imgs addObject:[UIImage imageNamed:@"abc3.jpg"]];
                            [imgs addObject:[UIImage imageNamed:@"abc4.jpg"]];
                             [imgs addObject:[UIImage imageNamed:@"abc5.jpg"]];
    for(int i=0;i<imgs.count;i++)
    {
        CGRect frame;
        frame.origin.x=self.scr.frame.size.width *i;
        frame.origin.y=0;
        frame.size=self.scr.frame.size;
        UIImageView *subimg=[[UIImageView alloc]initWithFrame:frame];
        subimg.image=[imgs objectAtIndex:i];
        [self.scr  addSubview:subimg];
        [subimg release];
        self.scr.contentSize=CGSizeMake(self.scr.frame.size.width*imgs.count, self.scr.frame.size.height);
    
    }
    • Esta es la nueva y gran gente lo desea, puede desactivar la opción «Usar el diseño Automático» en la Vista de Guión gráfico de la Controladora y a su vez en «paginación habilitado». También el último de la línea de ajuste de la contentSize debe ser colocado fuera del bucle for, ya que sólo necesita una vez. self.scr.contentSize=CGSizeMake(self.scr.frame.size.width*imgs.count, self.scr.frame.size.height); Me gusta esta respuesta, pero quería ampliar para permitir los cambios de orientación, véase mi respuesta a por más. (Es difícil de poner el código aquí).
    • Esto es fantástico. Pero, ¿cómo puede usted añadir elasticidad para hacer que, al desplazarse, la imagen se detiene? Como la app store ¿
  3. 1

    Edificio en yhpets respuesta, esto apoya los cambios de orientación también mediante la aplicación de etiquetas a cada ImageView y el uso de ellos para hacer referencia a cada uno de los ImageView y cambiar de tamaño cuando se gira el dispositivo…

    En su ViewController.h archivo que usted necesita para configurar su Matriz y ScrollView…

    @interface ViewController : UIViewController{
        NSMutableArray *imgs;
        IBOutlet UIScrollView *scr;
    }
    @property (strong, nonatomic) IBOutlet UIScrollView *scr;

    Y en su ViewController.m necesita escuchar para didRotateFromInterfaceOrientation y cambiar el tamaño de la ImageViews para adaptarse a la nueva pantalla. Necesitamos establecer la screenWidth y screenHeight variables dependiendo de si estamos en modo retrato o paisaje y el uso de estas para cambiar el tamaño de cada imageview y el scrollview.

    @implementation ViewController
    @synthesize scr;
    - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHeight = screenRect.size.height;
    if ((self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)||(self.interfaceOrientation == UIInterfaceOrientationPortrait)){
    //screenWidth and screenHeight are correctly assigned to the actual width and height
    }else{
    screenHeight = screenRect.size.width;
    screenWidth = screenRect.size.height;
    screenRect.size.width = screenWidth;
    screenRect.size.height = screenHeight;
    }
    NSLog(@"see it's right now= (%f,%f)",screenWidth,screenHeight);
    self.scr.contentSize=CGSizeMake(screenWidth*imgs.count, screenHeight);
    for(int i=0;i<imgs.count;i++){
    UIImageView *targetIV = (UIImageView*)[self.view viewWithTag:(i+1)];
    CGRect frame;
    frame.origin.x=screenWidth *i;
    frame.origin.y=0;
    frame.size=CGSizeMake(screenWidth, screenHeight);
    targetIV.frame = frame;
    }
    }///////////////////////////////////////////////////////////////////////////
    - (void)viewDidLoad{
    [super viewDidLoad];
    //Do any additional setup after loading the view, typically from a nib.
    imgs=[[NSMutableArray  alloc]init];
    [imgs addObject:[UIImage imageNamed:@"1001.png"]];
    [imgs addObject:[UIImage imageNamed:@"1002.png"]];
    [imgs addObject:[UIImage imageNamed:@"1003.png"]];
    [imgs addObject:[UIImage imageNamed:@"1004.png"]];
    for(int i=0;i<imgs.count;i++){
    CGRect frame;
    frame.origin.x=self.scr.frame.size.width *i;
    frame.origin.y=0;
    frame.size=self.scr.frame.size;
    UIImageView *subimg=[[UIImageView alloc]initWithFrame:frame];
    subimg.image=[imgs objectAtIndex:i];
    subimg.tag = (i+1);
    subimg.contentMode = UIViewContentModeScaleAspectFit;
    [self.scr  addSubview:subimg];
    }
    self.scr.contentSize=CGSizeMake(self.scr.frame.size.width*imgs.count, self.scr.frame.size.height);
    }

Dejar respuesta

Please enter your comment!
Please enter your name here