2016-07-07 9 views
0

Ich arbeite an einer App, mit der Benutzer bis zu 3 Bilder an abgeworfene Map-Pins anhängen können. Momentan habe ich eine kleine Vorschau, um angehängte Bilder zu sehen, die auf einer UIView angezeigt werden. Ich versuche, dem Benutzer zu ermöglichen, das Vollbild anzuzeigen, sobald sie eine Vorschau-Schaltfläche drücken. Unten ist ein Beispiel des Bildvorschau-Schaltflächen:Anzeige des Vollbilds im Vollbildmodus einmal gedrückt

enter image description here

Hier ist der relevante Code:

// Image preview 
    img1 = UIButton(frame:TCRectMake(x: 18,y:82,width:80,height:110)) 
    img1.backgroundColor = UIColor.clearColor() 
    img1.contentMode = .ScaleAspectFill 
    img1.clipsToBounds = true 
    img1.addTarget(self, action:"selectImage:", forControlEvents: UIControlEvents.TouchUpInside) 
    popupView.addSubview(img1) 

    img2 = UIButton(frame:TCRectMake(x: 100.8,y:82,width:80,height:110)) 
    img2.backgroundColor = UIColor.clearColor() 
    img2.contentMode = .ScaleAspectFill 
    img2.clipsToBounds = true 
    img2.addTarget(self, action:"selectImage:", forControlEvents: UIControlEvents.TouchUpInside) 
    popupView.addSubview(img2) 

    img3 = UIButton(frame:TCRectMake(x: 183,y:82,width:80,height:110)) 
    img3.backgroundColor = UIColor.clearColor() 
    img3.contentMode = .ScaleAspectFill 
    img3.clipsToBounds = true 
    img3.addTarget(self, action:"selectImage:", forControlEvents: UIControlEvents.TouchUpInside) 
    popupView.addSubview(img3) 

    ... 

// Save image to document 
func saveImageIntoDocument(resizeImage:UIImage,saveCompleted:((String)->())? = nil) 
{ 
    let documentsUrl = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask).first! 

    let timeStamp = "\((Int(Timestamp))).png" 
    let filePath = documentsUrl.relativePath!.stringByAppendingString("/\(timeStamp)") 
    if saveCompleted != nil 
    { 
     saveCompleted!(timeStamp) 
    } 
    UIImagePNGRepresentation(fixRotation(resizeImage))!.writeToFile(filePath, atomically: true) 

} 

Dies ist der Code für jeden Vorschauknopf:

func image1Click(sender:UIButton) 
{ 
    print(sender.tag) 
} 
func image2Click(sender:UIButton) 
{ 
    print(sender.tag) 
} 
func image3Click(sender:UIButton) 
{ 
    print(sender.tag) 
} 

Ich bin neu zu swift so lassen Sie mich wissen, wenn ich etwas verpasst :) Wenn jemand mir helfen könnte, um die Vorschau Vollbild anzuzeigen, das wäre toll!

Antwort

0

Dies sollte Ihnen helfen. Dieser Code verwendet die Gesten, wenn Sie auf das Bild selbst klicken, dann geht es auf den Vollbildmodus, aber Sie können zumindest einige Hinweise davon nehmen.

Es funktioniert, indem Sie ein neues Bild erstellen, das alles abdeckt. Es hat TapGestureRecognizer, die das Vollbild von seinem superView verbirgt.

@IBAction func imgTapped(sender: UITapGestureRecognizer) { 
    let imageView = sender.view as! UIImageView 
    let newImageView = UIImageView(image: imageView.image) 
    newImageView.frame = self.view.frame 
    newImageView.backgroundColor = .blackColor() 
    newImageView.contentMode = .ScaleAspectFit 
    newImageView.userInteractionEnabled = true 
    let tap = UITapGestureRecognizer(target: self, action: "dismissFullscreenImage:") 
    newImageView.addGestureRecognizer(tap) 
    self.view.addSubview(newImageView) 
} 

func dismissFullscreenImage(sender: UITapGestureRecognizer) { 
    sender.view?.removeFromSuperview() 
} 
+0

Vielen Dank für Ihre Antwort, nichts, als ich umsetzen zu passieren scheint :(Ich mache etwas falsch gemacht? Wo soll es in die Viewcontroller gehen? – Oscar

+0

Vielleicht sollte es gehen, wo das Bild ist. –

+0

Ja ich es platziert da aber noch keine Antwort beim Klick auf die Vorschaubilder :(Weißt du warum? Danke für deine Antwort – Oscar