2017-03-10 2 views
0

Ce code ne semble pas fonctionner. Je me demande ce que je fais mal/manque. Je suppose que: je glisse et dépose le UIPinchGestureRecognizer sur le viewcontroller (de sorte qu'il n'interfère pas avec les connexions aux boutons, étiquette etc. et qu'il soit connecté au viewcontroller); puis implémentez ce code (assurez-vous que les connexions sont correctes):Comment puis-je pincer pour agrandir l'ensemble de l'écran (y compris les étiquettes, les boutons et les images)? IOS, Swift 3

import UIKit 

class AlertController: UIAlertController { 

@IBAction func scaleImage(sender: UIPinchGestureRecognizer) { 
self.view.transform = CGAffineTransformScale(self.view.transform,  sender.scale, sender.scale) 
sender.scale = 1 
} 
override func viewDidLoad() { 
super.viewDidLoad() 
// Do any additional setup after loading the view, typically from a nib. 
view.backgroundColor = UIColor.blackColor() 
} 

override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() 
} 

} 

Aidez-nous!

+0

Vous ne devriez pas sous-classer 'UIAlertController'. D'après [les docs] (https://developer.apple.com/reference/uikit/uialertcontroller): "La classe UIAlertController est destinée à être utilisée telle quelle et ne supporte pas la sous-classe La hiérarchie de vue pour cette classe est privée et ne doit pas être modifié. " – keithbhunter

Répondre

0

Vous pouvez mettre votre UIView zoomeable l'intérieur d'un UIScrollView une puis mettre en œuvre cette méthode

func viewForZooming(in scrollView: UIScrollView) -> UIView? { 
    return self.view 
} 

vous devez également configurer votre délégué ScrollView et définissez votre self.scrollView.maximumZoomScale>self.scrollView.minimumZoomScale quelque chose comme ça

self.scrollView.delegate = self 
    self.scrollView.maximumZoomScale = 2.0 
    self.scrollView.minimumZoomScale = 0.5 

puis en utilisant le geste de ton doit se mettre à l'échelle `self.view

J'espère que cela vous aide, meilleures salutations