2016-03-18 8 views
0

Dies ist ein folgen tatsächlich auf diese Frage bereits - How can I display image on fullscreen when user taps on my UIImage in Swift?Wie kann ich programmgesteuert Code aus der Größe von uiimageview einstellen, um den Vollbildmodus in meiner Swift App abzudecken?

ich einen Hahn Zuhörer zu meinem UIImageView hinzufügen geschafft, aber jetzt würde Ich mag es zu erweitern, wenn Benutzer darauf klickt. Ich habe eine IBOutlet für das Foto:

@IBOutlet weak var requestPhoto: UIImageView! 

und dann dem Hörer so weit druckt diese Zeichenfolge:

func tapHandler(sender: UITapGestureRecognizer) { 
    if sender.state == .Ended { 
     print("photo tapped") 
    } 
} 

Anstatt nun die Zeichenfolge zu drucken ich das Foto auf dem ganzen Bildschirm angezeigt werden soll, aber damit es auf jeder Größe der iphone Bildschirme funktionieren kann - gibt es einen Weg, das direkt vom Code zu tun?

Antwort

1

Ganz einfach:

self.requestPhoto.frame = self.view.frame 

Beachten Sie aber, dass dies nicht nach dem Drehen des Bildschirms anpassen. Wenn Sie sowohl Hochformat als auch Querformat unterstützen, ist es am besten, sich für Einschränkungen zu interessieren und sie zu manipulieren.

Auch diese Methode behält Navigation und Registerkarten bei (das Foto deckt sie nicht ab). Wenn Sie „voll“ Vollbild wollen, sollten Sie den Rahmen nehmen von UIWindow

+0

Danke, das ist wirklich hilfreich! Und was ist mit der kleinen Größe? Wie kann ich es wieder auf die Originalgröße bringen, da ich die Größe im Storyboard und nicht im Code eingerichtet habe? – user3766930

+0

Komm schon, das sollte nicht so schwer sein, es herauszufinden;) Da du weißt, welche Eigenschaft einer Ansicht ihre Größe speichert, speichere sie einfach in einer Variablen, bevor du sie vergrößerst;) – Losiowaty

+0

Danke, mit deiner Ahnung war es einfacher als Ich dachte! :) also eine letzte Frage in diesem Bereich - wenn das Foto im Vollbildmodus ist, gibt es eine Möglichkeit, es für den Benutzer "zoombar" zu machen? Ich meine, dem Benutzer erlauben, es z. B. mit zwei Fingern darauf zu zoomen - wie auf Standard-iOS-Art? – user3766930

0
  1. Sie transparent UIButton einstellen können und eine Verbindung zu einem anderen Viewcontroller
  2. neue Viewcontroller erstellen und setzen neuen UIImageView
  3. Zum Storyboard segue Symbol klicken Linie und Inspektor
  4. Art zu rechter Platte Asisten gehen: Anwesende Modal - Präsentation: Aktuelle Kontext: Animiert

Storyboard Segue