iOS - Storyboard - Delegieren für Pop-Over

8

Ich verwende ein Storyboard in meiner iPad-Anwendung und bin erfolgreich in der Lage, Übergänge zu machen, Übergänge zu verwenden usw. Momentan zeige ich Pop-Over-View-Controller auf Knopfdruck. Ich möchte erkennen, wenn der Popover übergeht. Wie kann ich es tun?

    
Satyam 17.11.2011, 16:19
quelle

5 Antworten

4

Erstellen Sie ein Segment im View-Controller:

%Vor%

Erstellen Sie in XIB einen Bezeichner namens "popover" für die Ansicht.

Schreiben Sie in Interface den folgenden Code:

%Vor%

Schreiben Sie den folgenden Code, um das Pop-over durch das Coding zu verwerfen:

%Vor%     
Satyam 01.01.2012, 17:49
quelle
14

Folgendes habe ich getan:

%Vor%     
Christopher 15.06.2012 06:22
quelle
7

UIPopoverController

Jetzt mit meiner Enthüllung, dass Sie über ein UIPopoverController sprechen, hier sind die Schritte:

  1. Richten Sie den UIPopoverController mit einem geeigneten Delegaten ein (ich nehme den "sender" View Controller an)
  2. Lassen Sie Ihren "Absender" mit dem UIPopoverControllerDelegate übereinstimmen
  3. Implementieren Sie die – popoverControllerDidDismissPopover: -Nachricht und verfügen Sie über eine Erkennungslogik hier
  4. Implementiere - prepareForSegue:sender: und benutze% ce_de% des Segments, um sowohl einen Verweis zu erhalten als auch den Delegaten zu setzen, etwa so:

    ((MyViewController *) segue.destinationController) .delegate = selbst;

Modal View Controller

  1. Fügen Sie dem View-Controller, der gerade präsentiert wird, einen Delegaten hinzu
  2. Benennen Sie Ihren Titel, falls Sie noch nicht
  3. haben
  4. Lassen Sie Ihren Basis-View-Controller destinationController implementieren (siehe - prepareForSegue:sender: )
  5. Weisen Sie den sendenden Ansichtscontroller als Stellvertreter des modalen Ansichtscontrollers in UIViewController documentation zu.
  6. Rufen Sie eine gewünschte Methode für den Delegaten direkt vor oder nach dem Aufruf von prepareForSegue:sender: auf.

So würde ich das angehen. Ich würde auch empfehlen, ein formales Protokoll zu haben, um Ihren sendenden Ansichtsteuerpult mit anzupassen.

    
Ryan Wersal 17.11.2011 18:02
quelle
1

Da UIStoryboardPopoverSegue in iOS 9 veraltet ist, können Sie UIStoryboardPopoverPresentationSegue verwenden.

Dann können Sie in prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) den Delegierten wie folgt einstellen:

Schnell:

%Vor%     
ergoon 22.07.2015 13:42
quelle
0

Ein Objective-C-Code für die Frage ist unten.

%Vor%     
Kumar C 26.05.2016 11:22
quelle