2013-03-05 1 views
-4

Je suis nouveau sur iphone je travaille sur le projet dans lequel je suis autoscrolling l'image avec scrollview aussi avec elle je dois faire zoom dans et hors de l'image. Est-ce possible? et si oui, comment cela peut-il être fait.S'il vous plaît me suggérer du code.AutoScrolling avec l'image de zoom dans l'iphone

Merci.

Répondre

1
- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

// 1 
    UIImage *image = [UIImage imageNamed:@"photo1.png"]; 
    self.imageView = [[UIImageView alloc] initWithImage:image]; 
    self.imageView.frame = (CGRect){.origin=CGPointMake(0.0f, 0.0f), .size=image.size}; 
    [self.scrollView addSubview:self.imageView]; 

// 2 
    self.scrollView.contentSize = image.size; 
    } 

viewDidLoad

  1. D'abord, vous devez créer une vue d'image avec l'image photo1.png vous avez ajouté à votre projet et vous définissez le cadre de la vue de l'image (sa taille et la position) donc c'est la taille de l'image et se trouve au point 0,0 dans le parent. Enfin, la vue de l'image est ajoutée sous forme de sous-vue de votre vue de défilement.

  2. Vous devez indiquer à votre défilement la taille du contenu qu'il contient, afin qu'il sache à quelle distance il peut faire défiler horizontalement et verticalement. Dans ce cas, c'est la taille de l'image.

- (void)viewWillAppear:(BOOL)animated { 
[super viewWillAppear:animated]; 

// 1 
CGRect scrollViewFrame = self.scrollView.frame; 
CGFloat scaleWidth = scrollViewFrame.size.width/self.scrollView.contentSize.width; 
CGFloat scaleHeight = scrollViewFrame.size.height/self.scrollView.contentSize.height; 
CGFloat minScale = MIN(scaleWidth, scaleHeight); 
self.scrollView.minimumZoomScale = minScale; 

// 2 
self.scrollView.maximumZoomScale = 1.0f; 
self.scrollView.zoomScale = minScale; 

}

viewWillAppear

  1. Ensuite, vous devez travailler à l'échelle de zoom minimum pour la vue de défilement. Une échelle de zoom de 1 signifie que le contenu est affiché à taille normale. Une échelle de zoom inférieure à 1 affiche le contenu en zoom arrière, tandis qu'une échelle de zoom supérieure à un indique le zoom avant.

  2. Vous définissez l'échelle de zoom maximale sur 1, car un zoom supérieur à la résolution de l'image peut prendre en charge le fera paraître flou. Vous définir l'échelle de zoom initiale pour être le minimum, de sorte que l'image commence entièrement réduit.